alter proc ups_selectlogin
@UserName varchar,
@PassWord varchar
as
select COUNT(*) from dbo.Admin where  UserName=@UserName and PassWord=@PassWord
go

解决方案 »

  1.   

    varchar 后面指定下长度,否则变量长度默认为1 你的判断就不准确了。
    alter proc ups_selectlogin
    @UserName varchar(30),
    @PassWord varchar(30)
    as
    select COUNT(*) from dbo.Admin where UserName=@UserName and PassWord=@PassWord
    go
      

  2.   

    @UserName varchar,
    @PassWord varchar--默认长度为18这里最好指定长度 varchar(50)--50字节为例
      

  3.   

    declare @i varchar
    set @i='ABCD'
    select @i
    /*
    A
    */
      

  4.   

    记错, 默认长度为 1
    如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
      

  5.   

    这两个函数默认才是18,呵呵.
    decimal 和 numeric 默认精度为 18楼主在用类型是最好指定范围,除非类型没有范围,如int,smallint....