Foxtable(狐表)用户栏目专家坐堂 → 存储过程输入参数


  共有3648人关注过本帖树形打印复制链接

主题:存储过程输入参数

帅哥哟,离线,有人找我吗?
狐表(小白)
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
存储过程输入参数  发帖心情 Post By:2021/7/28 16:29:00 [只看该作者]

执行存储过程,当输入参数“r("备注_变更前")” 是空值的时候,怎么处理? 查询条件这样WHERE 编号= @订单编号 and  [备注] = @备注_变更前不起作用,写成这样就行WHERE 编号= @订单编号 and  [备注] is null

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

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


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

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/28 16:33:00 [只看该作者]

空值也可以使用,有什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
狐表(小白)
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
  发帖心情 Post By:2021/7/28 17:56:00 [只看该作者]

当是空值的时候存储过程执行完了,但是没更新对应的数据,改成 is null 就可以了。不知道什么原因。


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部