以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  sql语句中的REPLACE空值处理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145792)

--  作者:2900819580
--  发布时间:2020/2/7 14:51:00
--  sql语句中的REPLACE空值处理

Dim cmd As new SQLCommand
cmd.C

cmd.CommandText = "UPD ATE {产品用板明细} SET 审核 = REPLACE(审核,null,\'Y\') WHERE 产品ID = \'" & e.Form.Controls("Txt产品ID").text & "\'"
cmd.ExecuteNonQuery()

cmd.CommandText = "UP DATE {产品用板明细} SET 日期 = REPLACE(日期,null,\'" & Functions.Execute("返回服务器日期") & "\') WHERE 产品ID = \'" & e.Form.Controls("Txt产品ID").text & "\'"
cmd.ExecuteNonQuery()


Dim dt As DataTable = Tables(e.Form.Name & "_Table1").DataTable

dt.ReplaceFor("审核","Y","产品代码 = \'" & e.Form.Controls("Txt产品代码").text & "\'")
dt.ReplaceFor("日期",Functions.Execute("返回服务器日期"),"产品代码 = \'" & e.Form.Controls("Txt产品代码").text & "\'")

 

老师,以上红色代码中的空值替换为审核状态和日期,没办法生成,数据库是SQL数据库


--  作者:有点蓝
--  发布时间:2020/2/7 16:26:00
--  

SqlServer这种多条语句合并为一个即可,使用分号隔开


Dim cmd As new SQLCommand
cmd.C

cmd.CommandText = "UPDATE {产品用板明细} SET 审核 = \'Y\' WHERE 产品ID = \'" & e.Form.Controls("Txt产品ID").text & "\' and 审核 is null;UPDATE {产品用板明细} SET 日期 = \'" & Functions.Execute("返回服务器日期") & "\' WHERE 产品ID = \'" & e.Form.Controls("Txt产品ID").text & "\' and 日期  is null"

cmd.ExecuteNonQuery()


--  作者:2900819580
--  发布时间:2020/2/8 8:54:00
--  

谢谢老师。