DataTable.当存在´;s仅使用新记录进行更新

本文关键字:新记录 更新 存在 #180 DataTable | 更新日期: 2023-09-27 17:59:49

我有一个SQL表,需要用另一个表中的数据进行更新。

如果有新记录,它会工作并插入新记录,但如果有对现有记录的更新,它不会更新记录中的名称。

这个例子在VB.Net中,但欢迎您用C#代码回复。

        Dim workMembers As DataTable = New DataTable()
        Dim extMembers As New DataTableReader(GetExternalMembers())
        Using con As New SqlConnection(c.ConnectionString)
            Using sda As New SqlDataAdapter("Select id, name from members", con)
                sda.Fill(workMembers)
                workMembers.Load(extMembers, LoadOption.PreserveChanges)
                sda.Update(workMembers)
            End Using
        End Using

DataTable.当存在´;s仅使用新记录进行更新

工作成员。Load从外部表加载记录,并将其标记为未更改,因为表中已存在一条记录。请参阅数据表。荷载方法,注释下的第二段。您需要循环浏览记录,并使用SetModified方法将每个修改后的记录设置为modified。TnTinMn是正确的,您的表定义需要在定义后附加一个主键才能支持合并。请参阅数据表。PrimaryKey属性