Foxtable(狐表)用户栏目专家坐堂 → [求助]对后台表添加行代码出错(已解决)


  共有1313人关注过本帖平板打印复制链接

主题:[求助]对后台表添加行代码出错(已解决)

帅哥哟,离线,有人找我吗?
yyzlxc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]对后台表添加行代码出错(已解决)  发帖心情 Post By:2017/8/11 13:30:00 [只看该作者]

下面的代码,当比对“操作信息_时间”不同时,会将“器材明细”表的对应行替换到后台表并保存。设想:如果比对后台表,缺少一行数据时,代码将缺少的这行数据从“器材明细”表添加到后台表中。但是,代码运行出错,后台表没有变化。如何实现这个效果,请各位老师指教.谢谢!!



图片点击可在新窗口打开查看此主题相关图片如下:捕获2.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编辑过]

 回到顶部