在vb.net中传递DataRow集合时,更新需要有效的InsertCommand,其中包含新行错误

在vb.net中传递DataRow集合时,更新需要有效的InsertCommand,其中包含新行错误,vb.net,ms-access,datagridview,bindingsource,tableadapter,Vb.net,Ms Access,Datagridview,Bindingsource,Tableadapter,我试图将数据更新到access数据库,同时在datagridview中显示相同的数据。为此,我使用了绑定源和表适配器。我一直收到这样一个“当用新行传递DataRow集合时,更新需要有效的InsertCommand”错误。这是一个多表单项目,相同的代码在另一个表单中使用,效果很好。这个错误的根源是什么?如何消除它 Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click Try

我试图将数据更新到access数据库,同时在datagridview中显示相同的数据。为此,我使用了绑定源和表适配器。我一直收到这样一个“当用新行传递DataRow集合时,更新需要有效的InsertCommand”错误。这是一个多表单项目,相同的代码在另一个表单中使用,效果很好。这个错误的根源是什么?如何消除它

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
    Try
        UsersBindingSource.EndEdit()
        UsersTableAdapter.Adapter.Update(MRStudioDataSet3.Users)
        st = 1
        MessageBox.Show("Changes Saved")
    Catch exc As System.Data.ConstraintException
        MessageBox.Show("Username Already Taken", "Username Uniqueness Violation", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        UsersBindingSource.RemoveCurrent()
    End Try
End Sub

您可能需要创建一个与您的
UserStableApter
关联的
OleDbCommandBuilder
对象。问题,该表是否有自动递增的主键,如果没有主键,这可能会导致失败?看到这个帖子了吗