SQL存储过程遇到空值怎么处理呢?
时间:2011-06-17
来源:互联网
@aaa char(10),
@bbb int,
@ccc bit,
if (@aaa = '') set aaa=null
if (@bbb = '') set aaa=null
if (@ccc = '') set aaa=null
insert into xxxx........................
目前是这样的一个模式,由于每次都是完全提交,有几十个字段。
asp获取到所有值 然后调用存储过程写入。但是所有表单不都是必填的,可以留空。但是留空调用存储过程就是报错!于是就在存储过程里判断为空就赋值NULL问题来了。当类型为bit(也就是布尔),asp那边提交的值为 1或0。填写表单并提交后发现凡是bit类型字段总写不进去库里!于是注销了if (@ccc = '') set aaa=null这句 之后再提交就能提交进去了,但是出现的问题就是asp如果提交的ccc为空那么还是会报错!各位有啥方法么,小弟在此请教了。
@bbb int,
@ccc bit,
if (@aaa = '') set aaa=null
if (@bbb = '') set aaa=null
if (@ccc = '') set aaa=null
insert into xxxx........................
目前是这样的一个模式,由于每次都是完全提交,有几十个字段。
asp获取到所有值 然后调用存储过程写入。但是所有表单不都是必填的,可以留空。但是留空调用存储过程就是报错!于是就在存储过程里判断为空就赋值NULL问题来了。当类型为bit(也就是布尔),asp那边提交的值为 1或0。填写表单并提交后发现凡是bit类型字段总写不进去库里!于是注销了if (@ccc = '') set aaa=null这句 之后再提交就能提交进去了,但是出现的问题就是asp如果提交的ccc为空那么还是会报错!各位有啥方法么,小弟在此请教了。

作者: share888 发布时间: 2011-06-17
晕死,布尔值不是真就是假,既然没值传过来,那么就是假的啦
if (@ccc = "") set aaa = 0
if (@ccc = "") set aaa = 0
作者: koofox 发布时间: 2011-06-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28