declare @i_i integersp_execuesql N('SELECT @i_i = count(id) FROM ' + @Tables + @strFilter),
             N'@i_i integer output',
             @i_i output

解决方案 »

  1.   

    Declare  @i  int,@s  nvarchar(2000)
    set @s='SELECT count(id) FROM ' + @Tables + @strFilter
    execute  sp_executesql @s,'@i int output',@i out
    select  @i
      

  2.   

    to Softlee81307(孔腎):
    报错
    Procedure expects parameter '@parameters' of type 'ntext/nchar/nvarchar'.
      

  3.   

    to Softlee81307(孔腎):
    服务器: 消息 214,级别 16,状态 3,过程 sp_executesql,行 3
    Procedure expects parameter '@parameters' of type 'ntext/nchar/nvarchar'.
      

  4.   

    to wudan8057(开心每一天):
    服务器: 消息 170,级别 15,状态 1,行 3
    Line 3: Incorrect syntax near 'sp_execuesql'.
      

  5.   

    下面是一个示例:
    ---------------------------
    declare @num int,
            @sqls nvarchar(4000)  
           
    set @sqls=('select @a=count(*) from '+@sTargetDBID+'.dbo.nodetable where parentnode='+rtrim(@iTargetNodeID)+' and 
             nodename=(select nodename from '+@sSourceDBID+'.dbo.nodetable where nodeid='+rtrim(@iSourceNodeID)+')')
    exec sp_executesql @sqls,N'@a int output',@num output select @num  --就是查询取得的值
      

  6.   


    declare @num int,
      @sqls nvarchar(4000)
    set @sqls='SELECT a=count(id) FROM ' + @Tables + @strFilter  --确认这两个变量是字符型
       
    exec sp_executesql @sqls,N'@a int output',@num output
    select @num
      

  7.   

    to davytao1018(爱的代价):
    Declare  @i  int,@s  nvarchar(2000)
    set @s='SELECT a=count(ID) FROM table'
    execute  sp_executesql @s,N'@a int output',@i output
    select @i我返回了二个结果,一个是字段a,是我需要的结果集,但是@i为NUll,怎么办?
      

  8.   

    declare @i_i integer
    declare @s_sql nvarchar(100)
    declare @s_parm nvarchar(100)set @s_sql = N'SELECT @i_i = count(*) FROM ' +  + @Tables + @strFilter  
    set @s_parm = N'@i_i integer output'
    execute sp_executesql @s_sql,@s_parm,@i_i output
    select @i_i