[英]executeUpdate() is no working while execute using stored procedure
executeUpdate return 1 but values are not inserted into the table. executeUpdate 返回 1,但值未插入表中。 'CR_SAVEHBCRPERFORMA ' is the procedure to insert values.
'CR_SAVEHBCRPERFORMA' 是插入值的过程。 output parameter return 1 after execute else 0, here return 0..(some code missed bcoz too length )
执行 else 0 后输出参数返回 1,这里返回 0..(某些代码错过了 bcoz 太长)
Connection con = null;
CallableStatement cstmt1 = null;
DataSource ds = null;
ResultSet rs = null;
try {
String REGNO = request.getParameter("regNo");
String CENTERNAME = request.getParameter("center");
String DIAGNOSISDATE = request.getParameter("firstDiag");
RccDataSources rccDS = new RccDataSources();
ds = rccDS.getOncoLiveDS();
con = ds.getConnection();
cstmt1 = con.prepareCall("{CALL CR_SAVEHBCRPERFORMA(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
cstmt1.setString(1, REGNO);
cstmt1.setString(2, CENTERNAME);
cstmt1.setString(3, DIAGNOSISDATE);
cstmt1.setString(4, SOURCEREG);
cstmt1.setString(5, SOURCEREF);
cstmt1.setString(6, LABNO);
cstmt1.setString(7, FIRSTSEENDATE);
cstmt1.setString(8, EDUCATION);
cstmt1.setString(28, TREATMENTRITYPE);
cstmt1.setString(29, STATUSFOLLOWUP);
cstmt1.setString(30, DISEASESTATUS);
cstmt1.setString(31, REMARK);
cstmt1.registerOutParameter(32, Types.INTEGER);
cstmt1.executeUpdate();
int x = cstmt1.getInt(32);
}
}
} }
Use用
cstmt1.execute();
For Example例如
stmt.setString(1, doc_number);
stmt.setString(2, doc_type);
stmt.setString(3, line_number);
stmt.registerOutParameter(4, oracle.jdbc.OracleTypes.CURSOR);
stmt.execute();
cursor = stmt.getCursor(4);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.