以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  CommandText语句咨询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141341)

--  作者:guosheng
--  发布时间:2019/9/27 10:17:00
--  CommandText语句咨询
测试 当 values("应结转服务费金额") 返回为空时,没有执行黄色阴影的代码,该怎么改啊,如果values("应结转服务费金额")为空,则用0代替。
用 iif(values("应结转服务费金额") is null,0,values("应结转服务费金额") ) 来代替红色阴影的代码,提示,不能识别null。
……
cm d.Comm andText = "Sel ect 应结转租金金额,应结转服务费金额 From {租赁项目结转明细表} Where 合同编号 = \'" &  cstr(ep("合同编号")) & "\' and  应结转日期=\'"& cstr(ep("计费日期")) &"\'"
Dim Values2 = cm d .ExecuteValues
……

cm d.Comm andText = "U PDATE 租赁项目结转明细表 SET 应结转租金金额 =\'"& round2(val(ep("应收金额"))+Values2("应结转租金金额"),2) &"\',应结转租金税额=\'"& zs1 &"\' WHERE 合同编号=\'"&  htbh  &"\' and 应结转日期=\'"& cstr(ep("计费日期")) &"\'"
cm d.Execute NonQuery
……

--  作者:有点蓝
--  发布时间:2019/9/27 10:35:00
--  
IIF(typeof values("应结转服务费金额") Is System.DBNull,0,values("应结转服务费金额"))
--  作者:guosheng
--  发布时间:2019/9/27 10:50:00
--  

这么改确实可以了。

typeof ****Is System.DBNull  这种判断为空,什么情况下使用啊?


--  作者:有点蓝
--  发布时间:2019/9/27 10:55:00
--  
如数据库返回的结果,貌似也只有ExecuteValues能用到