Foxtable(狐表)用户栏目专家坐堂 → [求助]重复导入问题


  共有4232人关注过本帖树形打印复制链接

主题:[求助]重复导入问题

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


加好友 发短信
等级:婴狐 帖子:44 积分:498 威望:0 精华:0 注册:2023/3/13 16:07:00
[求助]重复导入问题  发帖心情 Post By:2023/3/13 16:10:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"订单号","联系人电话","上门日期","时间"}
Dim dCols() As String = {"订单号","电话号码","截止日期","时间"}
cmd.C
cmd.CommandText = "SELEC  T * From {shdd}"
dt = c
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("派工_Table1").AddNew()
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next
msgbox("新增" & newcount & "    " & "更新旧数据" & oldcount)
    t.ResumeRedraw()


请教老师:如何通过 ”订单号” 来实现已有相同订单号的行更新,没有的新增呢?更新完,再提示。谢谢
[此贴子已经被作者于2023/3/13 16:13:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111455 积分:567357 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 16:20:00 [只看该作者]

dt = c
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("派工_Table1").find("订单号='" & dr("订单号") & "'")
if dr is nothing then
dr = DataTables("派工_Table1").addnew
end if
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
myzy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:498 威望:0 精华:0 注册:2023/3/13 16:07:00
  发帖心情 Post By:2023/3/13 16:41:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"订单号","联系人电话","上门日期","时间"}
Dim dCols() As String = {"订单号","电话号码","截止日期","时间"}
cmd.C
cmd.CommandText = "SELEC   T * From {shdd}"
dt = cmd.ExecuteReader()
'For Each dr As DataRow In dt.DataRows
    'Dim nr As DataRow = DataTables("派工_Table1").AddNew()
    'For i As Integer =0 To sCols.Length -1
        'nr(dCols(i)) = dr(sCols(i))
    'Next
'Next
'
'
'dt = c
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("派工_Table1").find("订单号='" & dr("订单号") & "'")
If dr Is Nothing Then
dr = DataTables("派工_Table1").addnew
End If
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next

 
    msgbox("新增" & newcount & "    " & "更新旧数据" & oldcount)
    t.ResumeRedraw()
End If
'



.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,派工,Button12,Click
详细错误信息:
未将对象引用设置到对象的实例。
谢谢,才开始学。
[此贴子已经被作者于2023/3/13 16:46:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111455 积分:567357 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 16:51:00 [只看该作者]

For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("派工_Table1").find("订单号='" & dr("订单号") & "'")
If nr Is Nothing Then
nr = DataTables("派工_Table1").addnew
End If
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
myzy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:498 威望:0 精华:0 注册:2023/3/13 16:07:00
  发帖心情 Post By:2023/3/13 16:56:00 [只看该作者]


此主题相关图片如下:5.png
按此在新窗口浏览图片

  msgbox("新增" & newcount & "    " & "更新旧数据" & oldcount)
    t.ResumeRedraw()
End If
这个没有提示?
[此贴子已经被作者于2023/3/13 16:56:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111455 积分:567357 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 17:15:00 [只看该作者]

变量都没有定义,怎么用咯

dim newcount as integer

For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("派工_Table1").find("订单号='" & dr("订单号") & "'")
If nr Is Nothing Then
nr = DataTables("派工_Table1").addnew
newcount += 1
End If
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next
msgbox("新增" & newcount & "    " & "更新旧数据" & (dt.DataRows.count - newcount) )

 回到顶部