2017-12-21 14 views
0

내 update_password PL/SQL 프로 시저가 웹 메소드에서 실행되지 않습니다. 'ERROR1'과 'ERROR2'를 사용하여 확인했습니다. mResult는 항상 'ERROR1'로 설정됩니다. 내 처형에 특이한 것을 발견 할 수 있니? 아니면 내가 볼 수없는 뭔가 잘못되었을 수도 있습니다. 나는 이것에 이미 너무 많은 시간을 썼다. ...웹 메소드가 내 PL/SQL 프로 시저를 실행하지 않습니다.

@WebMethod 
public String updatePassword(@WebParam(name = "mEmail") 
    String mEmail, @WebParam(name = "mPassword") 
    String mPassword, @WebParam(name = "mNewPassword") 
    String mNewPassword, @WebParam(name = "mConfirmPassword") 
    String mConfirmNewPassword) { 
    ClsConnectionData conn = null; 
    ResultSet rst; 
    String mResult = "ERROR1"; 
    try 
    { 
     conn = new ClsConnectionData(); 
     rst = conn.execute("ULM_SIM_PACKAGE.update_password('" + mEmail + "','" + mPassword + "','" + mNewPassword + "','" + mConfirmNewPassword + "',:1)"); 
     if (rst.next()) 
      mResult = rst.getString(1); 
     else 
      mResult = "ERROR2"; 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    }finally{ 
     conn.disconnect(); 
    } 
    return mResult; 
} 
+0

update_password 프로 시저에서 반환 할 수 있습니까? – PillHead

+0

listcursor. listcursor는 refcur 유형입니다. 'type refcur_type is ref cursor;' 최종 답장은 내 update_password 프로 시저에서 이처럼 'OK'와 같아야합니다. 의 경우 listCursor를 열고 '확인'을 선택합니다. 이중에서 결과를 선택합니다. – hellomate

+0

나는이 절차가 당신이 기대하는 방식대로 응답하지 않을 가능성이 높다고 생각한다. 따라서 rst.next()는 항상 false를 반환한다. – PillHead

답변

0

발견 된 실제 버그는 무엇인가? 연결을 정의하는 함수에 대한 호출이 누락되었습니다. 과 같이 conn = new ClsConnectionData();에 선언해야 connectDefault() 함수가있다

:

에는 데이터베이스 연결이 없었다으로 update_password가 실행되지 않을 수
conn = new ClsConnectionData(); 
conn.connectDefault(); 

... 당신이 기대하고있는 것을

+0

만세! 축하해. – PillHead