以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]内部表复制行到数据库,如何跳过重复值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186359)

--  作者:igewcw
--  发布时间:2023/4/24 10:25:00
--  [求助]内部表复制行到数据库,如何跳过重复值

各位老师:

  下列代码,如何修改可以现实跳过重复值复制?


Dim cmd As New SQLCommand
cmd.C
For Each dr As DataRow In DataTables("报价汇总表").DataRows 
cmd.CommandText = " insert into 成本分析汇总表(报价单号,项目编号,报价人) values ( \'" & dr("报价单号") & "\',\'" & dr("项目编号") & "\',\'" & dr("报价人") & "\' )"
cmd.ExecuteNonQuery()
Next
messagebox.show( "成功插入数据 !", "提示", MessageBoxButtons.ok, MessageBoxIcon.Information)

--  作者:有点蓝
--  发布时间:2023/4/24 10:34:00
--  
报价汇总表和成本分析汇总表不在同一个数据库?
--  作者:igewcw
--  发布时间:2023/4/24 10:42:00
--  
老师,是这样的,报价汇总表是内部表,成本分析汇总表是未加载的外部表,我想定期将内部表的数据复制到外部表中。目前发行有时人为重复点击按钮造成外部表中有重复报价单号的数据,有没有什么办法可以以“报价单号”做判断,外部表已存在,就跳过复制?
--  作者:有点蓝
--  发布时间:2023/4/24 10:54:00
--  
Dim cmd As New SQLCommand
cmd.C
For Each dr As DataRow In DataTables("报价汇总表").DataRows
    cmd.CommandText = "select count(*) from 成本分析汇总表 where 报价单号=\'" & dr("报价单号") & "\'"
    If cmd.ExecuteScalar = 0 Then
        cmd.CommandText = " insert into 成本分析汇总表(报价单号,项目编号,报价人) values ( \'" & dr("报价单号") & "\',\'" & dr("项目编号") & "\',\'" & dr("报价人") & "\' )"
        cmd.ExecuteNonQuery()
    End If
Next

--  作者:igewcw
--  发布时间:2023/4/24 11:07:00
--  
效果很好,非常感谢!