Java的。循环中的语句执行

时间:2014-07-03 06:39:07

标签: java oracle plsql

我尝试在循环中执行INSERT查询:

String selectTableSQL = "SELECT * "
                      + "FROM testTable";

ResultSet rs = stmt.executeQuery(selectTableSQL);

while (rs.next()) {
     String rangeName = rs.getString("RANGENAME");                
     insertTableSQL = "INSERT INTO testTable2 "
                    + "VALUES ('" + rangeName + "')";

      try {
           stmt.executeUpdate(insertTableSQL);
      } catch (SQLException e) {
           // do nothing             
      }

但经过一次迭代后,这个循环就会中断。如果我不执行INSERT查询并打印rangeName来屏幕上所有内容都完美无缺(有很多值,不仅仅是一个)。所以问题在于语句执行。我该如何解决?

非常感谢!

2 个答案:

答案 0 :(得分:7)

当然它确实如此:您使用相同的stmt
创建一个新的stmt2变量并在循环中使用它而不破坏前一个变量。

答案 1 :(得分:1)

第一:永远不要这样做

} catch (SQLException e) {
           // do nothing             
      }

e.printStackTrace()添加到catch块。

我认为你这样做会有例外。您可能需要第二个语句变量。