存储过程参数问题

y_sequoia 2006-03-08 03:46:53
我用存储过程更新数据库,传递参数时,如果参数为空,执行失败,而这些字段是可以为空的,
并且在存储过程中参数给了默认值,也执行不对,我是在VC中用ADO执行。请问如何解决?谢谢!
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzhs 2006-03-08
  • 打赏
  • 举报
回复
1、执行不对是VC程序报错,还是存储过程执行错误?
2、你用在VC中给定的同样的参数,在查询分析器中执行一下,看结果是正确的吗?
ycy589 2006-03-08
  • 打赏
  • 举报
回复
来学习
-狙击手- 2006-03-08
  • 打赏
  • 举报
回复
create proc tests
@d datetime
as
begin
if isnull(@d,'')=''
select 1
else
select 2
end
go

exec tests '2001-01-01'
/*
-----------
2
*/
exec tests null
/*

-----------
1
*/
drop proc tests
-狙击手- 2006-03-08
  • 打赏
  • 举报
回复
实际是你的VC的空在给过程传参过程发生类型转换错吧
在SQL中NULL通过SET或SELECT传给变量
xeqtr1982 2006-03-08
  • 打赏
  • 举报
回复
同意可可:)
lsqkeke 2006-03-08
  • 打赏
  • 举报
回复
存储过程的参数,你默认个空值给变量

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧