代码:ALTER PROCEDURE proc_ExsitUserName
(
@userName nvarchar(12),
@table nvarchar(10),
@prefix nvarchar(10)
)
AS
DECLARE @sql nvarchar(MAX)
SET @sql='SELECT COUNT('+@prefix+'_userName) FROM '+@table+' WHERE '+@prefix+'_userName='+@userName
EXECUTE(@sql)
RETURN
总是提示 @userName的参数值 列名无效正在运行 [dbo].[proc_ExsitUserName] ( @userName = 好, @table = pu_student, @prefix = s ).列名 '好' 无效。
没有行受影响。
(返回 0 行)
@RETURN_VALUE = 0
完成 [dbo].[proc_ExsitUserName] 运行。请高手指教该如何解决,在线等,谢谢ps:userName 在数据中存的是 nvarchar(12)

解决方案 »

  1.   

        SET @sql='SELECT COUNT('+@prefix+'_userName) FROM '+@table+' WHERE '+@prefix+'_userName='''+@userName+''''
      

  2.   

    ALTER PROCEDURE proc_ExsitUserName
        (
        @userName nvarchar(12),
        @table nvarchar(10),
        @prefix nvarchar(10)
        )
    AS
        DECLARE @sql nvarchar(MAX)
        SET @sql='SELECT COUNT('+@prefix+'_userName) FROM '+@table+' WHERE '+@prefix+'_userName='''+@userName+''''
        EXECUTE(@sql)
        RETURNgo
      

  3.   


    SET @sql='SELECT COUNT('+@prefix+'_userName) FROM '+@table+' WHERE '+@prefix+'_userName='+@userName
       更改为:    SET @sql='SELECT COUNT('+@prefix+'_userName) FROM '+@table+' WHERE '+@prefix+'_userName='''+@userName+''''