2014-12-13 75 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值...

而回到原來的問題,所選的記錄仍然沒有刪除。