2017-12-21 8 views
0

私のupdate_password PL/SQLプロシージャは、Webメソッドでは実行されないようです。私は 'ERROR1'と 'ERROR2'を使ってチェックしました。 mResultは常に 'ERROR1'に設定されます。あなたは私の実行に関して珍しい何かを見つけることができますか?それとも私が見ることができない何かが間違っているかもしれません。私はこれに既に多くの時間を費やしました...Webメソッドで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」に等しくなければなりません: の場合はopen listcursorを選択します。 – hellomate

+0

私は、このプロシージャがあなたが期待しているように応答しない可能性が高いと考えています。したがって、rst.next()は常に偽を返します – PillHead

答えて

0

実際のバグは何かを発見しました。私は、接続を定義する関数への呼び出しを見逃しています。

ので、同じようconn = new ClsConnectionData();の下に呼ばれるべきconnectDefault()関数があります:データベース接続がなかったとして

conn = new ClsConnectionData(); 
conn.connectDefault(); 

update_passwordを実行することができませんでした...

+0

こんにちは!おめでとう。 – PillHead

関連する問題