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

求解。。。。

declare @where nvarchar(100)
declare @NotGDChnCount int
declare @sql nvarchar(1000)
set @sql=N'select @Count=COUNT(distinct id) from GoldCardReplacementData
where DataType=1 '
EXEC sp_executesql @sql,N'@Count int output',@NotGDChnCount output
select @NotGDChnCount
print @sql


以上为我的代码,在@sql中要是不加上@where变量,语句能正常执行,如果加了@where,就查不出任何东西,请问各位,这是为什么呢?

------解决方案--------------------
加了以后的语句贴出来看看
------解决方案--------------------
引用:
解决了,@where变量初始化下就能用了。。。

GX
------解决方案--------------------
try
    declare @where nvarchar(100)
    declare @NotGDChnCount int
    declare @sql nvarchar(1000)
    SET @where=' where DataType=1 '
    set @sql=N'select @Count=COUNT(distinct id) from GoldCardReplacementData'+@where
    EXEC sp_executesql @sql,N'@Count int output',@NotGDChnCount output
    select @NotGDChnCount
    print @sql

------解决方案--------------------
我就说你都只有定义没有使用....
------解决方案--------------------
恭喜楼主自立更生
------解决方案--------------------
where 里面给成1=1 先给个 让where恒成立
------解决方案--------------------
引用:
我就说你都只有定义没有使用....

是啊,你定义了@where,可根本没用上。。。
------解决方案--------------------
引用:
解决了,@where变量初始化下就能用了。。。
恭喜自己解决问题