2

现在我必须将它更新到我的数据库中,问题是我不知道如何在数据库中多次更新它。

public void generate() {
    KpiMsg804 upd = createKpiMsg804();
    try {
          st = conn.createStatement();
          System.out.println("Updating Values");
          //Updating Values into DB
          String query = "insert into msg_new_to_bde("
              + "tablename,action,keyinfo1,keyinfo2) values(?, ?, ?, ?)";
          pstmt = conn.prepareStatement(query); // create a statement
          pstmt.setString(1,upd.getTableName());
          pstmt.setInt(2,upd.getAction()); // set value of staus of action
          pstmt.setString(3,upd.getKeyInfo1()); // set keyinfo value1
          pstmt.setString(4,upd.getKeyInfo2()); // set keyinfo value2
          int rows = pstmt.executeUpdate();
          System.out.println("Number of Rows Updated" +rows);
          // execute insert statement
    } catch (SQLException e) {
        e.printStackTrace();
    }
4

1 回答 1

0

您可能想要使用 JDBC addBatch() 和 executeBatch() 功能:JDBC 插入多行。这将让您将多行排队,然后将它们插入一组。

您的问题的另一种解释是:您需要关闭自动提交,然后使用 JDBC begin() 和 commit() 功能插入几个不同的表,它们都同时进入。

pstmt.executeUpdate(Table1);
pstmt.executeUpdate(Table2);
conn.commit();

这会将所有行作为一个事务插入,即一次。

于 2013-01-08T13:07:26.893 回答