报表中判断哪行是新增的还是修改的

修改联系人 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();
   }
  }
}

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