以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于莫名其妙的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65941)

--  作者:sara
--  发布时间:2015/3/26 8:47:00
--  关于莫名其妙的问题

dr = DataTables("PRDT").Find ("[PRD_NO] Is Not Null And [Part Number] Is Null ")
If dr IsNot Nothing Then

MessageBox.Show("11")
MessageBox.Show(dr("PRD_NO"))
MessageBox.Show(dr("Part Number"))

Endif

明明能输出11 ,但是后面两个输出的都为空,很郁闷,求解


--  作者:狐狸爸爸
--  发布时间:2015/3/26 9:05:00
--  
后面输出为空,很好理解,因为找出来的行,那两列没有内容
--  作者:有点甜
--  发布时间:2015/3/26 9:08:00
--  

你的条件是 "[PRD_NO] Is Not Null And [Part Number] Is Null"

 

那么,Part Number肯定是空,而PRD_NO有可能是空字符串而不是null值


--  作者:sara
--  发布时间:2015/3/26 9:13:00
--  

没有怎么会进If条件呢


--  作者:有点甜
--  发布时间:2015/3/26 9:18:00
--  
以下是引用sara在2015/3/26 9:13:00的发言:

没有怎么会进If条件呢

 

空字符串不等于null值啊

 

那么,Part Number肯定是空,而PRD_NO有可能是空字符串而不是null值


--  作者:sara
--  发布时间:2015/3/26 9:28:00
--  
条件怎么写合适呢?有个问题是我昨天还是好好的,今天就这样
--  作者:有点甜
--  发布时间:2015/3/26 9:29:00
--  

数据肯定有问题

 

msgbox这样写看看 MessageBox.Show("aaaa" & dr("PRD_NO") & "bbbbb")

 

可能有空格


--  作者:sara
--  发布时间:2015/3/26 9:33:00
--  
这个是结果,默认字符串为Null还是“”?条件应该怎么写?
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150326093131.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2015/3/26 9:34:00
--  

 这样写试试

 

dr = DataTables("PRDT").Find ("[PRD_NO] Is Not Null And [PRD_NO] <> \'\' And [Part Number] Is Null ")


--  作者:sara
--  发布时间:2015/3/26 9:36:00
--  

aaa111bbb,咋回事?同样是字符串,怎么第一个得那么判断

[此贴子已经被作者于2015/3/26 9:37:10编辑过]