set @sqls='select @t=count(*) from news'+ @findtext
exec sp_executesql @sqls,N'@t int output',@rowcount output
select @rowcount

解决方案 »

  1.   

    exec('select @rowcount=count(*) from news'+ @findtext)-->
    declare @sql Nvarchar(2000)
    set @sql=N'select @rowcount=count(*) from news'+ @findtextEXECUTE sp_executesql @sql, N'@rowcount int output',@rowcount output
      

  2.   

    ALTER procedure GetPager(
    @findtext nvarchar(100),
    @rowcount  int output)
                  as
                 
                  begin
          ~~~/*      '我想在这里给输出变量@rowcount赋值,但要用到输入参数 @findtext(这是个where条件字符串)              exec('select @rowcount=count(*) from news'+ @findtext)
    */
    declare  @sqls nvarchar(4000)
    set @sqls='select @a=count(*) from news '+@findtext
    exec sp_executesql @sqls,N'@a int output',@rowcount output
                  ~~~
      

  3.   

    http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.7702295
      

  4.   

    用下面替换你的那段代码就可以了。
    declare  @sql nvarchar(4000)
    set @sql='select @a=count(*) from news '+@findtext
    exec sp_executesql @sqls,N'@a int output',@rowcount output