参数是什么呢?把sql语句print出来看看

解决方案 »

  1.   

    --如何将exec执行结果放入变量中? declare @num int, 
                   @sqls nvarchar(4000) 
    set @sqls='select @a=count(*) from tableName ' 
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num 
      

  2.   

    --tryALTER PROCEDURE [dbo].[brandIDQurey]
    (
    @columnName nvarchar(50),
    @oper nvarchar(8),
    @param nvarchar(255)
    )
    AS
    SET NOCOUNT ON;
    DECLARE @sqlString nvarchar(255)
    SET @sqlString = N'SELECT 存货表.* FROM 存货表 WHERE  ([' + @columnName + ']' + @oper + '[' + @param + ']' + N' )'
    exec sp_executesql @sqlString, N'@columnName nvarchar(50),@oper nvarchar(8),@param nvarchar(255)',@columnName,@oper,@param
      

  3.   

    --找到了,楼主少了引号
    ALTER PROCEDURE [dbo].[brandIDQurey]
    (
    @columnName nvarchar(50),
    @oper nvarchar(8),
    @param nvarchar(255)
    )
    AS
    SET NOCOUNT ON;
    DECLARE @sqlString nvarchar(255)
    SET @sqlString = N'SELECT * FROM 存货表 WHERE  (' + @columnName + @oper +N''''+ @param + N''' )'
    exec sp_executesql @sqlString, N'@columnName nvarchar(50),@oper nvarchar(8),@param nvarchar(255)',@columnName,@oper,@param
      

  4.   

    因为参数@param是字符型,所以要在两边加单引号,比如:
    --你的结果:...where column=abc
    --正确的结果:...where column='abc'
      

  5.   

    CREATE TABLE  存货表
    (
    C1 VARCHAR(100),
    C2 VARCHAR(100),
    C3 VARCHAR(100)
    )
    INSERT 存货表
    SELECT 'A', 'B', 'C'
    GOCREATE PROCEDURE [dbo].[brandIDQurey]
    (
    @columnName nvarchar(50),
    @oper nvarchar(8),
    @param nvarchar(255)
    )
    AS
    SET NOCOUNT ON;
    DECLARE @sqlString nvarchar(255)
    SET @sqlString = N'SELECT * FROM 存货表 WHERE  (' + @columnName + @oper +N''''+ @param + N''' )'
    exec sp_executesql @sqlString, N'@columnName nvarchar(50),@oper nvarchar(8),@param nvarchar(255)',@columnName,@oper,@param
    GOEXEC brandIDQurey 'C3','=','C'DROP PROC brandIDQurey
    DROP TABLE 存货表--结果
    /*
    C1 C2 C3
    -------------------------
    A B C
    */
      

  6.   

    昨晚已经解决了,不过还是要谢谢gc_ding(施主,给个妞泡好么)