我的update_password PL / SQL过程似乎永远不会在Web方法中执行。我已经使用'ERROR1'和'ERROR2'进行了检查。 mResult始终设置为“ERROR1”。你能发现我执行的任何异常吗?或者也许我看不到它有什么问题。我已经花了太多时间在这上面......
@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;
}
找到了实际的bug。我一直在错过对定义连接的函数的调用。
有一个connectDefault()函数应该在conn = new ClsConnectionData();
下调用,如下所示:
conn = new ClsConnectionData();
conn.connectDefault();
无法执行update_password,因为没有数据库连接...