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

求解。。。。
SQL code

    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变量初始化下就能用了。。。

------解决方案--------------------
try
SQL code
    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变量初始化下就能用了。。。