create or replace package body userLogin is
procedure Login(UserName varchar2,UserPwd varchar2)
is
 LoginRow Login%ROWTYPE;
begin
 select * into LoginRow from Login;
 if(LoginRow.Username=UserName&&LoginRow.Userpwd=UserPwd)
    DBMS_OUTPUT.put_line("登录成功!");
 else if(UserName=LoginRow.Username&&UserPwd!=LoginRow.Userpwd)
    dbms_output.put_line("密码错误!");
 else
    dbms_output.put_line("请注册!");
end userLogin;
请教高手们,这个过程错误在哪里??

解决方案 »

  1.   

    && 是and / or ?--------------------------
    else if(UserName=LoginRow.Username&&UserPwd!=LoginRow.Userpwd)
        dbms_output.put_line("密码错误!");
      

  2.   

    给你个以前调试过的例子:          IF LENGTHB(lv_errmsg) > 60 AND LENGTHB(lv_errmsg) <= 120 THEN            lv_head := lv_head || '"' || SUBSTRB(lv_errmsg,1,60) || '",';          END IF;  
      

  3.   

    if ....  then
    END IF;你的恐怕不行吧!
    先查查PL/SQL的一些常用语法吧!
      

  4.   

    我只能说你这个没有一个地方是对的,晕:
    1:select * into LoginRow from Login;如果Login表中有多条记录,运行就会出错
    2:LoginRow.Username=UserName&&LoginRow.Userpwd=UserPwd  sql中哪儿有"&&"?
    3: DBMS_OUTPUT.put_line("登录成功!")     字符串是用单引号
    4: 
    IF condition-1 THEN
       statements-1
    ELSIF condition-N THEN
     statements-N
    [ELSE
       ELSE statements]
    END IF;