以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查找空值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195893)

--  作者:edisontsui
--  发布时间:2025/3/19 7:42:00
--  查找空值
Dim drf1 As DataRow = DataTables("出入库C").SQLFind("物料编号 = " & "\'" & e.DataRow("物料编号") & "\' and YNS > " & "\'" & "" & "\' and _identify <>" & e.DataRow("_identify"), "录入时间 Desc")
老师,上面这段代码我是希望找到 YNS 不为空值的数据行,现在有几个问题请教:
1、红色那部分代码改为 YNS is not null, 其效果是不是一样的?
2、Find 这个词改为 SQL 的话,就找不到本应存在的数据行,那是不是有了红色那节代码,就不能用 SQLfind,只能用 Find 了 ?
3、如果还是希望用SQLFind, 那要怎样修改红色那部分代码?
谢谢。

--  作者:有点蓝
--  发布时间:2025/3/19 8:52:00
--  
1、不一样,两个单引号中间没有东西表示空字符串,空字符串也是一种值,不是空值

2、和红色代码没有关系。find只查询已经加载的数据,sqlfind只程查询后台已经保存的数据:http://www.foxtable.com/webhelp/topics/2902.htm

3、使用is not null

--  作者:edisontsui
--  发布时间:2025/3/19 10:23:00
--  
3. 我测试过了, 如果用 SQLfind, 即使用 is not null, 也找不到应有的数据行。而 如果只用 find 的话,就可以找到应有的数据行。
--  作者:有点蓝
--  发布时间:2025/3/19 10:33:00
--  
只能说明
1、需要查询的数据没有保存
2、后台没有符合条件的数据