修改聯繫人 1.在保存時同時保存修改人,修改日期(可能只是改了某一行)。2.增加一列:處理,記錄是新增還是修改。第一個好做,在報表中就可以實現,第二個不好做,在報表中無法判斷哪行是新增的還是修改的。所以在填報處理類中處理第二個問題,根據SQL語句判斷哪行是新增的哪行是修改的。
public void afterSave() throws Exception {
int m;
String insert;
Object arg[];
InputSQL[] abc = this.getInputSql();
for (int i = 0; i < this.getInputSql().length; i++) {
//判斷更新的表是否爲table1
if (“table1”.equals(abc[i].getTableName())|| “table1”==abc[i].getTableName()) {
Connection conn = this.getConnection(context.getDefDataSourceName());
Statement stmt = conn.createStatement();
String sql = abc[i].getSql();
arg = abc[i].getParams();
// 判斷是否插入語句
if (sql.matches(”insert.*”)) {
insert = “update table1 set dealwith=’1′ where ID=’”+ arg[0] + “‘”;
m = stmt.executeUpdate(insert);
System.out.println(”insert語句:” + insert);
// 這裏過濾出來insert語句,取得的語句可以在本類中執行,或用作其它。
System.out.println(”這是insert語句” + sql + “參數1:” + arg[0]+ “;2:” + arg[1]);
} else {
insert = “update table1 set dealwith=’0′ where ID=’”+ arg[0] + “‘”;
m = stmt.executeUpdate(insert);
System.out.println(”update語句:” + insert);
System.out.println(”這是update語句” + sql + “參數1:” + arg[0]+ “;2:” + arg[1]);
}
stmt.close();
}
}
}