java callable语句帮助使用包过程
目前我在包下面有这个程序,当一些人在网页上选择user_id时获取user_name但现在我想通过在页面中添加ssn来改变格式,所以当一些正文选择user_id时,它会在网页文本框上加载用户名和ssn ..我我使用可调用语句来加载数据..我可以在这里更改以获取用户名和ssn
PROCEDURE get_User_name
(
return_code_out OUT VARCHAR2,
return_msg_out OUT VARCHAR2,
user_id_in IN user.user_id%TYPE,
user_name_out OUT user.user_name%TYPE
)
IS
BEGIN
return_code_out := '0000';
return_msg_out := 'OK';
SELECT c.user_name INTO user_name_out
FROM user c
WHERE c.user_id = user_in;
END get_user_name;
这是我的加载功能
public String load() {
String retMsg = null;
DbUtil db = null;
java.sql.CallableStatement cstmt = null;
try {
db = new DbUtil();
cstmt = db.prepareCall("{ call sample.PACK_USER.get_user_name(?, ?, ?, ?) }");
cstmt.registerOutParameter(1,OracleTypes.VARCHAR);
cstmt.registerOutParameter(2,OracleTypes.VARCHAR);
cstmt.setString(3,this.getuserid());
cstmt.registerOutParameter(4,OracleTypes.VARCHAR);
cstmt.execute();
if (cstmt.getString(1).equals(Constants.dbSuccess))
myLog.log(myLog.INFORMATION, "UserBean.load() DB return code and message = " + retMsg);
else {
retMsg = cstmt.getString(1) + " - " + cstmt.getString(2);
myLog.log(myLog.ERROR, "UserBean.load() DB return code and message = " + retMsg);
}
this.setUserName(cstmt.getString(4));
return retMsg;
}
没有找到相关结果
已邀请:
2 个回复
呸溉
并按如下方式更改Java代码:
您现有的错误代码永远不会工作 - 您必须通过在某处捕获SQLException来处理错误。
孝铜差
从您的代码中,您似乎希望从过程中返回错误代码和错误消息。相反,使用try catch块捕获Java中的sqlException并采取必要的操作。