以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 无法禁止重复提取相同行数据 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=157859) |
-- 作者:tld -- 发布时间:2020/10/30 23:08:00 -- 无法禁止重复提取相同行数据 老师,下面的代码,从一个Excel表中提取数据到 一个 sqltable 表 tb 中。因为有 If d Is Nothing Then 语句,重复提取数据时候,应该不会执行 tb.addnew 。但是 确实执行addnew了。哪里有错呢?谢谢! For i As Integer = start To end Dim s1 As String = sheet(i,0).value Dim s2 As String = sheet(i,1).value s1 = s1.trim() s2 = s2.trim() Dim bh As String = s1 & "-" & s2 \'发票号码 Dim d As DataRow = tb.DataTable.SQLFind("发票号码 = \'" & bh & "\'") If d Is Nothing Then \' 如果没有录入过这个发票号码 Dim current As Row = tb.AddNew current("发票号码") = bh current("开票日期") = sheet(i,6).value current("金额") = sheet(i,14).value + sheet(i,16).value current.DataRow.Save End If Next [此贴子已经被作者于2020/10/30 23:10:09编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/10/31 10:09:00 -- Dim bh As String = s1 & "-" & s2 \'fa piao号码 msgbox("fa piao号码 = \'" & bh & "\'") Dim d As DataRow = tb.DataTable.SQLFind("fa piao号码 = \'" & bh & "\'")
|
-- 作者:tld -- 发布时间:2020/10/31 19:18:00 -- 老师,下面的代码就没有问题 Dim d As DataRow = DataTables(“原始发票”).SQLFind("fa piao号码 = \'" & bh & "\'") (我在sqltable中,设置:selec t * from{原始发票} where [_identify] is null,,,,,在afterload中, Dim tb As Table = Tables(e.Form.name & "_table1")) 而代码: Dim d As DataRow = tb.DataTable.SQLFind("fa piao号码 = \'" & bh & "\'") 就有问题。。这是为什么呢? |
-- 作者:ouyangfenghuan -- 发布时间:2020/11/1 6:49:00 -- Dim bh As String = s1 & "-" & s2 \'fa piao号码 Dim d As DataRow = tb.DataTable.SQLFind("fa piao号码 = \'" & bh & "\'")要用单引号,后面用的双引号 Dim d As DataRow = tb.DataTable.SQLFind("fa piao号码 = \'" & bh & \'") If d Is Nothing Then \' 如果没有录入过这个fa piao号码
|
-- 作者:有点蓝 -- 发布时间:2020/11/1 20:36:00 -- 如果DataTables(“原始fa piao”).SQLFind可以,不应该有问题的,做个例子发过来看看。 如果是SqlServer自己跟踪一下数据库看tb.DataTable.SQLFind执行什么sql?
|