0

错误:

当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand。

现在这是我设法在网上找到的一个热门问题。有些人有答案,有些人没有。这是我的问题。我所做的只是按照Microsoft Press 的一本书中的教程.. 通过 Windows 身份验证连接到 SQL Server 数据库,然后将表中的两个字段作为文本框拉入表单,如屏幕截图所示。它有add, delete, update按钮(自动创建)。

在此处输入图像描述

然后它生成以下代码,并将错误指向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

那么在表单中有那个SAVE或按钮的真正原因是什么?UPDATE为什么它不能保存我的记录更改?

4

1 回答 1

0

当表上没有主键时,tableadapter 无法生成更新逻辑。添加一个 PK,然后进入数据集的设计器并重新生成查询。确保这次已经生成了 INSERT 和 UPDATE 查询。

于 2013-03-04T16:37:34.860 回答