create procedure selectUserInfo
@UserName varchar(20),
@PassWord varchar(20)
as
select count(*) from UserInfo where UUserName=@UserName and UPassWord=@PassWordexec selectUserInfo @UserName='admin',@PassWord='1'执行这个存储过程如果没有数据如何让他在第一行第一列显示一个0

解决方案 »

  1.   

    create procedure selectUserInfo
    @UserName varchar(20),
    @PassWord varchar(20)
    as
    declare @counter int;
    set @counter = select count(*) from UserInfo where UUserName=@UserName and UPassWord=@PassWord
    if @counter < 1
       select 0;
    else
       select @counter;
      

  2.   


    create procedure selectUserInfo
    @UserName varchar(20),
    @PassWord varchar(20)
    as
    select isnull(count(*),0) as Total 
    from UserInfo where UUserName=@UserName and UPassWord=@PassWordexec selectUserInfo @UserName='admin',@PassWord='1'
      

  3.   


    create procedure selectUserInfo
    @UserName varchar(20),
    @PassWord varchar(20),
    @Result int output
    as
    select count(*) from UserInfo where UUserName=@UserName and UPassWord=@PassWord
    --------------------
    declare @a int
    set @a=0
    exec selectUserInfo @UserName='admin',@PassWord='1',@a output
    select @a
      

  4.   

    --你的本来就可以啊
    select Totalcount = count(*) from dbo.UserInfo 
      

  5.   

    count(*) 本来就可以显示0但是这个没有列名 如果在别的地方用的话 最好给他定义个列名