2013-03-04 34 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

相关问题