[英]Insertion stored procedure values in java not get stored in sql table
已加入:2010年6月7日帖子:1
[發布新]今天發布12:53:46 Quote Edit幫助我,
我使用struts2框架工作,正在將值發送到db方法,並且我已經編寫了代碼,我的try塊在控制台中沒有執行err msg,我得到了msg存儲過程exe succ,但是我的值未插入表中。 在sql存儲過程中,給出了4個輸入參數和4個輸出參數。 我在調試模式下獲得了輸入參數的值,而該參數是我從表單bean獲得的,但沒有輸出參數的值,在此添加我的代碼,請幫助我解決這個錯誤。
package db;
import java.util.List;
import java.sql.*;
import hbsbean.AddNewFieldsBean;
public class ApplicationStoredDB {
public List<AddNewFieldsBean> storeNewRecords(AddNewFieldsBean bean) {
List<AddNewFieldsBean> nbean = null;
Connection conn = null;
String jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String dbURL = "jdbc: odbc:sqlserver";
String usernameDbConn = "root";
String passwordDbConn = "hbsroot";
try {
Class.forName(jdbcDriver).newInstance();
conn = DriverManager.getConnection(dbURL, usernameDbConn,
passwordDbConn);
} catch (Exception e) {
System.out.println("jdbc driver not found:" + dbURL);
e.printStackTrace();
}
try {
// make a callable statement for a stored procedure.
CallableStatement cstmt = conn
.prepareCall("{call proc_application_menu(?, ?, ?, ?, ?, ?, ? ,?)}");
// set the values of the stored procedure's input parameters
System.out.println("calling stored procedure . . .");
for (int i = 0; i < bean.getAppName().length; i++) {
cstmt.setString(1, bean.getAppName()[i]);
cstmt.setString(2, bean.getBasepath()[i]);
cstmt.setString(3, bean.getDesc()[i]);
cstmt.setString(4, bean.getUsername());
// output params in sql
cstmt.registerOutParameter(5, Types.INTEGER);
cstmt.registerOutParameter(6, Types.INTEGER);
cstmt.registerOutParameter(7, Types.VARCHAR);
cstmt.registerOutParameter(8, Types.VARCHAR);
cstmt.execute();
}
// now that the input parameters are set, we can proceed to execute
// the insertTheForm stored procedure
cstmt.close();
System.out.println("Stored procedure executed succesfully.....");
}
catch (SQLException e) {
System.out.println("error: " + e);
e.printStackTrace();
}
return nbean;
}
}
重新閱讀問題后進行了編輯:
如果getAppName()。length為零,則不會調用執行。 可能是這樣嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.