2013-03-04 37 views
0

錯誤:此錯誤是誤導相比,用戶界面

Update requires a valid UpdateCommand when passed DataRow collection with modified rows.

現在這是一個流行的問題,我好不容易在網上找到。有些人有答案,有些則沒有。這是我的問題。我所做的只是按照Microsoft Press的書中的教程進行操作。通過Windows身份驗證連接到SQL Server數據庫,然後將兩個字段從屏幕截圖中所示的文本框中拉出。它有add, delete, update按鈕(自動創建)。

enter image description here

然後,它在UPDATE線產生下面的代碼,和點的誤差。我試圖做的,更新ID = 2 to ID = 3。表中沒有主鍵,因爲我正在嘗試使用ADO.Net端組件(連接/顯示等)。

Private Sub Testdbtable1BindingNavigatorSaveItem_Click 
       (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 
           Testdbtable1BindingNavigatorSaveItem.Click 
    Me.Validate() 
    Me.Testdbtable1BindingSource.EndEdit() 
    Me.TableAdapterManager.UpdateAll(Me.TestcmdDBDataSet) //-------<< error 
End Sub 

那麼什麼是具有SAVEUPDATE按鈕,在表格的真正原因是什麼?爲什麼它不能保存我的記錄更改?

回答

0

當表中沒有主鍵時,tableadapter無法生成更新邏輯。添加PK,然後進入數據集的設計器並重新生成查詢。確保此次生成了INSERT和UPDATE查詢。

+0

在MSDN本身有一個KB,專門用於在我的問題中使用TableAdapter與上面的確切代碼。所以我仍然不確定我是什麼樣的小姐。已經花了超過一個weej在這裏進行所有可能的討論。仍然沒有成果.. – aspiring 2013-03-25 10:34:25

+0

這不是你的代碼。表適配器在設計時構建查詢時,必須在表上有主鍵。只有當您擁有主鍵時,才能構建完整的查詢集。事實上,你自己說「當我嘗試ADO.Net端組件(連接/顯示等)時,表中沒有主鍵。」對不起,我不知道這是什麼意思。如果沒有主鍵,則無法識別表格中的行 – peterG 2013-03-25 11:27:57

相關問題