你执行一下下面的语句就知道怎么回事了declare @s char
set @s = 'abcd'
select @s

解决方案 »

  1.   

    CREATE PROCEDURE getpassword @u_name char(10)
     AS
    select u_pass,role from users where u_name=@u_name
    GO
      

  2.   

    不知道你的u_name是char还是varchar类型
    可以这样CREATE PROCEDURE getpassword @u_name varchar(50)  --或者用你需要的长度代替50
     AS
    select u_pass,role from users where rtrim(u_name)=rtrim(@u_name)
    GO
      

  3.   

    问题找到了!
    定义u_name 的时候没指定字段长度!
    晕啊!