+ -
当前位置:首页 → 问答吧 → SQL存储过程遇到空值怎么处理呢?

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为空那么还是会报错!各位有啥方法么,小弟在此请教了。

作者: share888   发布时间: 2011-06-17

晕死,布尔值不是真就是假,既然没值传过来,那么就是假的啦
if (@ccc = "") set aaa = 0

作者: koofox   发布时间: 2011-06-18