以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 判断语句没有起作用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158201) |
-- 作者:tld -- 发布时间:2020/11/11 13:16:00 -- 判断语句没有起作用 老师好。窗体的表是sqltable,从Excel中导入数据,因需要进行复杂判断,用逐个单元格导入数据到狐表中。下面的代码,If d Is Nothing Then 判断语句没有起到作用: For i As Integer = start To endrow Dim zj As String = sheet(i,1).value \'-------------------------------利用主机交易流水号,判断是否已经导入过 If zj <> "" Then
zj = zj.trim() \'--------------------------------------------------删除空格
Dim d As DataRow = datatables(e.form.name & "_table1").SQLFind("主机交易流水号 = \'" & zj & "\'")
If d Is Nothing Then \' -------------------------------------- 没有导入过这个主机流水号
dim current as datarow = datatables(e.form.name & "_table1").addnew
Dim jyls As String = sheet(i,1).value
jyls = jyls.trim()
current("主机交易流水号") = jyls
。。。。。。。。
current.save
end if
end if next
上面的代码,按理说不能重复导入同一个Excel表,因导入后,If d Is Nothing Then 会判断是否已经导入。但实际是可以重复导入 哪里有错误?请老师指点 谢谢!! [此贴子已经被作者于2020/11/11 13:19:51编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/11/11 13:36:00 -- 代码没有问题。如果有也是数据问题,比如有空格等等 |
-- 作者:tld -- 发布时间:2020/11/11 14:18:00 -- 老师, 我把SQLFind 改为 Find 就 不会重复导入。代码中已经 current.save 。不明白怎么回事,请蓝版主指点 。谢谢! |
-- 作者:有点蓝 -- 发布时间:2020/11/11 14:52:00 -- 如果是sqlserver数据库跟踪一下后台执行了什么sql,再看看数据库里有没有这些数据 |
-- 作者:tld -- 发布时间:2020/11/11 15:12:00 -- 看了数据库,里面有这些重复的数据 。 加载后,find可以成功搜索;未加载的数据,用SQLfind没有成功检索到? |
-- 作者:有点蓝 -- 发布时间:2020/11/11 15:15:00 -- 跟踪一下后台执行了什么sql:https://www.baidu.com/s?wd=sql%20profiler |
-- 作者:tld -- 发布时间:2020/11/11 16:45:00 -- 老师,还有个现象:下面的三行语句,第一行发生错误,第二、三行正常 dim sum1 as single = datatables(e.form.name & "_table1").sqlcompute("sum(贷方发生额)") dim sum2 as single = datatables(e.form.name & "_table1").compute("sum(贷方发生额)") dim sum3 as single = tables(e.form.name & "_table1").compute("sum(贷方发生额)") 第一行的错误信息是: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件: 详细错误信息: 关键字 \'select\' 附近有语法错误。 |
-- 作者:有点蓝 -- 发布时间:2020/11/11 16:51:00 -- table1是一个查询表吧。并且是多表关联的?生成查询表的sql发上来看看 |