以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 空值判断  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=180103)

--  作者:建筑人生
--  发布时间:2022/9/28 11:24:00
--  [求助] 空值判断

 \'cmd.CommandText = "U  PDATE 流水账查询 SET 科目表_三级 = \'" & st & "\' WHERE 科目表_一级 = \'" & km_yiji & "\' and 科目表_二级 = \'" & km_erji & "\' and 科目表_三级 = \'" & km_sanji & "\' and 科目表_四级 = \'" & km_siji & "\' and 科目表_五级 = \'" & km_wuji & "\' and 科目表_收支类别 = \'支出\'"

 

红色部分变量为空值时,代码没有执行,下面这句可以执行,代码要怎么改


        
         cmd.CommandText = "U  PDATE 流水账查询 SET 科目表_三级 = \'" & st & "\' WHERE 科目表_一级 = \'" & km_yiji & "\' and 科目表_二级 = \'" & km_erji & "\' and 科目表_三级 = \'" & km_sanji & "\' and 科目表_收支类别 = \'支出\'"

[此贴子已经被作者于2022/9/28 11:31:37编辑过]

--  作者:有点蓝
--  发布时间:2022/9/28 11:42:00
--  
参考这种方式生成条件,就是逐个条件的判断:http://www.foxtable.com/webhelp/topics/1058.htm

dim filter as string = "1=1 "
if km_yiji > "" then
filter filter & " and  科目表_一级 = \'" & km_yiji & "\'"
end if
if km_erji > "" then
filter filter & " and  科目表_二级 = \'" & km_erji & "\'"
end if
if km_sanji  > "" then
……
……

cmd.CommandText = "U  PDATE 流水账查询 SET 科目表_三级 = \'" & st & "\' WHERE " & filter 



--  作者:建筑人生
--  发布时间:2022/9/28 11:45:00
--  回复:(有点蓝)参考这种方式生成条件,就是逐个条件...
这样只判断3个条件,但实际要5个条件啊
--  作者:建筑人生
--  发布时间:2022/9/28 11:46:00
--  
以下是引用有点蓝在2022/9/28 11:42:00的发言:
参考这种方式生成条件,就是逐个条件的判断:http://www.foxtable.com/webhelp/topics/1058.htm

dim filter as string = "1=1 "
if km_yiji > "" then
filter filter & " and  科目表_一级 = \'" & km_yiji & "\'"
end if
if km_erji > "" then
filter filter & " and  科目表_二级 = \'" & km_erji & "\'"
end if
if km_sanji  > "" then
……
……

cmd.CommandText = "U  PDATE 流水账查询 SET 科目表_三级 = \'" & st & "\' WHERE " & filter 
 

 
这样只判断3个条件,对符合3的条件的都修改,但有的是符合4个条件不能修改啊

[此贴子已经被作者于2022/9/28 11:48:10编辑过]

--  作者:有点蓝
--  发布时间:2022/9/28 11:58:00
--  
省略部分自己补上不行吗?例子都给出来了,我只写3个就只会用3个?