使用merge后发现更新不了数据库,不知道什么原因,求高手帮忙看下
两台计算机一摸一样的数据库,表有主键,想从一台把数据导出后读到另一台计算机里,另一台计算机里数据库里有其他数据,因此觉得使用merge比较好,使用merge后发现更新不了数据库,不知道什么原因’按钮1 把数据写入xml文件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
sqlda = New SqlDataAdapter("select * from CUSTOMER", sqlconn)
sqlda.Fill(sqlds, "CUSTOMER")
sqlds.WriteXml("c:\1.xml") ‘把dataset的customer表写到xml文件里
End Sub
’按钮2 在另一台计算机上导入xml文件到数据库
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
sqlda = New SqlDataAdapter("select * from CUSTOMER", sqlconn)
sqlda.Fill(sqlds, "CUSTOMER")
sqlds.Clear() ‘建立dataset框架后清空
sqlds1.ReadXml("c:\1.xml") ’读到dataset1里面
sqlds1.AcceptChanges()
Dim dta As New DataTable
dta = sqlds1.Tables("CUSTOMER")
sqlds.Merge(dta, True, MissingSchemaAction.Ignore) ‘merge到dataset里面
Dim c As New SqlCommandBuilder(sqlda)’到这一步sqlds都是正常的,用datagridview查看sqlds已经有数据了
sqlda.Update(sqlds, "CUSTOMER") ‘这一步update后,打开数据库里面并没有更新????????????
End Sub --------------------编程问答-------------------- 顶一下吧,跟您遇到一模一样的问题. --------------------编程问答-------------------- 去掉sqlds1.AcceptChanges(),再试试. --------------------编程问答-------------------- 不行。。。。 --------------------编程问答-------------------- 错在merge那里,merge之后,没法讲两个表里相同关键字段的行合并,都是添加,不知道怎么解决
补充:.NET技术 , VB.NET