Foxtable(狐表)用户栏目专家坐堂 → 判断语句没有起作用


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

主题:判断语句没有起作用

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
判断语句没有起作用  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 13:36:00 [只看该作者]

代码没有问题。如果有也是数据问题,比如有空格等等

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/11/11 14:18:00 [只看该作者]

老师, 我把SQLFind 改为 Find 就 不会重复导入。代码中已经 current.save 。不明白怎么回事,请蓝版主指点 。谢谢!

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 14:52:00 [只看该作者]

如果是sqlserver数据库跟踪一下后台执行了什么sql,再看看数据库里有没有这些数据

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/11/11 15:12:00 [只看该作者]

看了数据库,里面有这些重复的数据  。  加载后,find可以成功搜索;未加载的数据,用SQLfind没有成功检索到?


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


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

跟踪一下后台执行了什么sql:https://www.baidu.com/s?wd=sql%20profiler

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By: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' 附近有语法错误。


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


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

table1是一个查询表吧。并且是多表关联的?生成查询表的sql发上来看看

 回到顶部