以文本方式查看主题

-  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=170499)

--  作者:狐表(小白)
--  发布时间:2021/7/28 16:29:00
--  存储过程输入参数
执行存储过程,当输入参数“r("备注_变更前")” 是空值的时候,怎么处理? 查询条件这样WHERE 编号= @订单编号 and  [备注] = @备注_变更前不起作用,写成这样就行WHERE 编号= @订单编号 and  [备注] is null

cmd.Parameters.Add("@备注_变更前",r("备注_变更前"))

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:存储过程.txt


[此贴子已经被作者于2021/7/28 16:31:35编辑过]

--  作者:有点蓝
--  发布时间:2021/7/28 16:33:00
--  
空值也可以使用,有什么问题?
--  作者:狐表(小白)
--  发布时间:2021/7/28 17:56:00
--  
当是空值的时候存储过程执行完了,但是没更新对应的数据,改成 is null 就可以了。不知道什么原因。


--  作者:有点蓝
--  发布时间:2021/7/29 8:34:00
--  
在存储过程里判断


 if @备注_变更前 is null
BEGIN
 UPDATE [test].[dbo].[YW_销售订单]
   SET [备注] = @备注_变更后
      ,[编辑人] = @编辑人
      ,[编辑日期] = getdate()
 WHERE 编号= @订单编号 and  [备注] is null
END
else
BEGIN
 UPDATE [test].[dbo].[YW_销售订单]
   SET [备注] = @备注_变更后
      ,[编辑人] = @编辑人
      ,[编辑日期] = getdate()
 WHERE 编号= @订单编号 and  [备注] = @备注_变更前

END