|

楼主 |
发表于 2018-9-27 15:45:42
|
显示全部楼层
数据库端我们试了没有问题的。下面代码是我们在ACTION里写的执行存储过程的代码,麻烦看下写的有问题吗
public static void mainActivityAfterSaveJZTC_SCRWWTDWJAction() throws Exception {
Table table = (Table)ContextHelper.getActionContext().getParameter("table");
//新增
Iterator<Row> newrows = table.iterator(com.justep.system.data.ModifyState.NEW );
// printTableColumns(table);
while (newrows.hasNext()) {
Row row = newrows.next();
String gcbh = row.getString("GCBH");
String lbjth = row.getString("LBJTH");
int hjsl = row.getDecimal("HJSL").intValue();
String zbid = row.getString("WTDZBID");
String sfqtxj = row.getString("SFQTXJ");
String zbwjid = row.getString("JZTC_SCRWWTDWJ");
//调用插入数据存储过程
callProduce(gcbh,zbid,zbwjid, lbjth , hjsl, sfqtxj);
}
//插入数据存储过程
public static Boolean callProduce(String gcbh,String zbid,String zbwjid, String lbjth, int sl, String qt) throws Exception {
java.sql.Connection conn = ModelUtils.getConnectionInTransaction("/tcgl/scrwwtd/data");
// 创建一个 CallableStatement对象来调用数据库存储过程
java.sql.CallableStatement stat = conn.prepareCall("{call up_getpdm_bom_scrwwtd(?, ?, ?, ?, ?, ?)}");
try {
// 设置IN参数,参数以顺序匹配
stat.setString(1, gcbh);
stat.setString(2, zbid);
stat.setString(3, zbwjid);
stat.setString(4, lbjth);
stat.setInt(5, sl);
stat.setString(6, qt);
// 执行存储过程
stat.execute();
} catch(Exception e) {
e.printStackTrace();
return true;
} finally {
stat.close();
return false;
}
} |
|