報表中判斷哪行是新增的還是修改的

修改聯繫人 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();
   }
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章