下面的代码,当比对“操作信息_时间”不同时,会将“器材明细”表的对应行替换到后台表并保存。设想:如果比对后台表,缺少一行数据时,代码将缺少的这行数据从“器材明细”表添加到后台表中。但是,代码运行出错,后台表没有变化。如何实现这个效果,请各位老师指教.谢谢!!
此主题相关图片如下:捕获2.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2017-8/201781113293271774.png)
If DataTables.Contains("器材明细") = True Then
Dim cmd2 As New SQLCommand
cmd2.ConnectionName = "SCZD"
cmd2.CommandText = "Select * F rom {器材明细}"
Dim dt2 As DataTable = cmd2.ExecuteReader(True)
For Each dr2 As DataRow In DataTables("器材明细").DataRows
If dr2.IsNull("器材编号") = False Then
Dim pr2 As DataRow = dt2.Find("器材编号 = '" & dr2("器材编号") & "' and _Identify = '" & dr2("序号") & "'")
If pr2 IsNot Nothing And dr2("操作信息_时间") <> pr2("操作信息_时间") Then '行存在但操作信息_时间不同
'删除PC端编号行
pr2.delete
dt2.save
'导出编号行到PC端
Dim ndr2 As DataRow = dt2.AddNew
For Each dc2 As DataCol In dt2.DataCols
ndr2(dc2.name) = dr2(dc2.name)
Next
dt2.Save
ElseIf pr2 Is Nothing Then '当PC端行不存在
Dim ndr2 As DataRow = dt2.AddNew
For Each dc2 As DataCol In dt2.DataCols
ndr2(dc2.name) = dr2(dc2.name)
Next
dt2.Save
End If
End If
Next
End If
[此贴子已经被作者于2017/8/11 17:11:34编辑过]