用set赋值
别的没细看。set @Requestpwd=1

解决方案 »

  1.   

    应该是赋值的问题,用set或select
      

  2.   

    你的程序不太规范:
    CREATE PROCEDURE pwd_CarDbGpspwd 
        @brand varchar(20),
        @pwd varchar(4),
        @Requestpwd bit output  
    ASDeclare @intErrorCode int
    select @intErrorCode=@@ErrorIf @intErrorCode=0 
        BEGIN TRANSACTIONIf @intErrorCode=0                   
    Begin
            
            Begin
                If (select Name_pwd from Car_Db where r_brand=@brand )=@pwd 
                 select @Requestpwd=1
                Else
                 select  @Requestpwd=0
            End    
    EndBegin
        If @Requestpwd=0 
            Commit TRANSACTION
        Else
            ROLLBACK TRANSACTION
    End
      

  3.   

    CREATE PROCEDURE pwd_CarDbGpspwd 
        @brand varchar(20),
        @pwd varchar(4),
        @Requestpwd bit output  
    AS
    Declare @intErrorCode int
    set @intErrorCode=@@ErrorIf @intErrorCode=0 
        BEGIN TRANSACTION
    If @intErrorCode=0                   
      Begin
          select Name_pwd from Car_Db where Car_brand=@brand 
          If Name_pwd = @pwd 
              @Requestpwd = 1
           Else
              @Requestpwd = 0
           Commit TRANSACTION
      Else
            ROLLBACK TRANSACTION
      End
      

  4.   

    CREATE PROCEDURE pwd_CarDbGpspwd 
        @brand varchar(20),
        @pwd varchar(4),
        @Requestpwd bit output  
    AS
      Declare @intErrorCode int
      set @intErrorCode=@@Error
      If @intErrorCode=0                
        Begin
          BEGIN TRANSACTION
          select Name_pwd from Car_Db where Car_brand=@brand 
          If Name_pwd = @pwd 
              @Requestpwd = 1
           Else
              @Requestpwd = 0
           Commit TRANSACTION
        Else
            ROLLBACK TRANSACTION
        End