2014-12-13 77 views
-1

这应该不是这么难......但已经晚了。删除记录VB2010 w/TableAdapter

我正在处理一个简单的窗体,并尝试使用TableAdapter从连接的数据源中删除记录。这里是TableAdapter的SQL;

DELETE FROM Main WHERE (ID = ?) AND (tbl_Job_Name = ?) 

主要是表名,只有两个字段。

我正在用这些数据填充一个ComboBox,并且我正在使用一个Button来调用Delete()这样的动作;

Private Sub btnDeleteJob_Click(sender As Object, e As System.EventArgs) Handles btnDeleteJob.Click 
    Dim deleteJobAdapter As New DCGDataSetTableAdapters.MainTableAdapter 
    deleteJobAdapter.DeleteQuery(ComboBox2.SelectedIndex, ComboBox2.SelectedText) 
End Sub 

当我打破了代码,我可以看到ID值,但SelectedText字段为空,当然,当它贯穿于记录不会被删除。理想情况下,我只想传递ComboBox中所选记录的ID以删除记录。我错过了什么?

回答

0

这就是我最终使用的;

Dim delJobID = ComboBox2.SelectedValue 
    Dim delJobRowAdpt As New DCGDataSetTableAdapters.MainTableAdapter 
    Dim delJobRow As DCGDataSet.MainRow 
    Dim intDelete As Integer 
    delJobRow = DCGDataSet.Main.FindByID(delJobID) 
    delJobRow.Delete() 
0

尝试,

deleteJobAdapter.DeleteQuery(ComboBox2.SelectedIndex, ComboBox2.Text) 

SelectedText属性:

获取或设置在组合框的可编辑部分选择的文本。

Text属性:

获取或设置与此控件关联的文本。

您可以使用SelectedText属性检索或更改ComboBox控件中当前选定的文本。但是,您应该知道,由于用户交互,选择可能会自动更改。例如,如果您在按钮Click事件处理程序中检索SelectedText值,则该值将是一个空字符串。这是因为当输入焦点从组合框移动到按钮时,选择会自动清除。

当组合框失去焦点时,选择点将移动到文本的开头,任何选定的文本将变为未选中状态。在这种情况下,获取SelectedText属性将检索一个空字符串,并设置SelectedText属性将指定的值添加到文本的开头。

0

当我输入代码时;

deleteJobAdapter.DeleteQuery(ComboBox2.SelectedIndex, ComboBox2.Text) 

我的破发点显示从记录正确的文本,但我也注意到,该ID值不正确,将selectedIndex返回该记录本身的序列号,从“0”。所以它看起来像SelectedIndex不会返回实际的ID值...

而回到原来的问题,所选的记录仍然没有删除。