当前位置: 代码迷 >> Sql Server >> 有个关于sp_executesql有关问题请问
  详细解决方案

有个关于sp_executesql有关问题请问

热度:89   发布时间:2016-04-27 18:32:54.0
有个关于sp_executesql问题请教
SQL code
-- 0. 传入参数@tablename   NVARCHAR(32)   = '',           --表名@fieldname   NVARCHAR(32)   = '',           --字段名@sqlstring   NVARCHAR(1024) = '',           --查询条件,不含WHERE@results     NVARCHAR(256)  = ''  OUTPUT    --输出结果ASDECLARE @sql   NVARCHAR(2048);BEGIN    BEGIN TRAN        SET @sql =N'SELECT @results = ' + @fieldname + ' FROM ' + @tablename;        IF (LTRIM(RTRIM(@sqlstring))<>'' AND @sqlstring IS NOT NULL)            SET @sql = @sql + ' WHERE ' + @sqlstring;        ELSE            SET @sqlstring = '';        EXECUTE sp_executesql @sql,[email protected] NVARCHAR(256) OUT',@results OUTPUT        IF @results IS NULL OR LTRIM(RTRIM(@results)) = ''            SELECT @results = '';        ELSE            SELECT @results = LTRIM(RTRIM(@results));        IF @@ERROR <> 0        BEGIN            ROLLBACK TRAN            RETURN '';        END        ELSE        BEGIN            COMMIT TRAN            RETURN @results;        ENDEND


总是提示:
息 245,级别 16,状态 1,过程 sys_GetFieldValue,第 36 行
在将 nvarchar 值 'fffffffffff' 转换成数据类型 int 时失败。

字段类型都是NCHAR,也试了所有的CAST、CONVERT,就是不能解决,折腾了一天了,向各位前辈请教。

------解决方案--------------------
SF
------解决方案--------------------
给出你调用SP的语句,[email protected]
[email protected]