日期:2014-05-17  浏览次数:20336 次

存储过程 错误 大神们 帮小弟看下
create proc proc_manager
@tablename varchar,
@strWhere varchar,
@count int output
as
begin 
declare @strSql nvarchar(1000)
set @strSql='select @count=count(1) from '+@tablename+' where '+@strWhere
end
exec sp_executesql @strSql,N'@count int output',@count output


declare @sum int
exec proc_manager 'ask','id>0',@sum output
print @sum

错误:
消息 4145,级别 15,状态 1,第 1 行
在应使用条件的上下文(在 'i' 附近)中指定了非布尔类型的表达式。
------最佳解决方案--------------------
引用:
我怎么一直都刷不出贴来,还有我的等级怎么变成5个星了...

估计CSDN出错了
------其他解决方案--------------------
来来来 人人人啊啊啊啊
------其他解决方案--------------------
alter proc proc_manager
 @tablename varchar,
 @strWhere varchar,
 @count int output
 as
 begin 
 declare @strSql nvarchar(1000)
 set @strSql='select '+CONVERT(VARCHAR(10),@count)+'=count(1) from '+@tablename+' where '+@strWhere
 end
 exec sp_executesql @strSql,N'@count int output',@count output
 
 
 declare @sum int
 exec proc_manager 'ask','id>0',@sum output
 print @sum

------其他解决方案--------------------
我怎么一直都刷不出贴来,还有我的等级怎么变成5个星了...
------其他解决方案--------------------
null
------其他解决方案--------------------
null