print exec('SELECT ' + @fieldName  + '  FROM ' + @tableName + ' ' + @strWhere)
--》
print 'SELECT ' + @fieldName  + '  FROM ' + @tableName + ' ' + @strWhere

解决方案 »

  1.   

    print 'SELECT ' + @fieldName  + '  FROM ' + @tableName + ' ' + @strWhere
    --这是个输出语句,输出了字符串的实际内容
    exec('SELECT ' + @fieldName  + '  FROM ' + @tableName)
    --是执行这个字符串。相当于,你把上面的输出内容直接在查询分析器中执行一样。
      

  2.   

    CREATE PROCEDURE GetFieldValue
    (
    @tableName nvarchar (20),
    @fieldName nvarchar (20))
    as
        declare @sql varchar(200)
        set @sql='SELECT ' + @fieldName  + '  FROM ' + @tableName
        exec(@sql)
        print @sql
    GO
      

  3.   

    CREATE PROCEDURE GetFieldValue
    (
    @tableName nvarchar (20),
    @fieldName nvarchar (20))
    as
    exec('SELECT ' + @fieldName  + '  FROM ' + @tableName)
    GO
    ------------------楼主的存储过程完全正确。有结果返回,我在查询分析器测试通过。