我尝试在循环中执行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
来屏幕上所有内容都完美无缺(有很多值,不仅仅是一个)。所以问题在于语句执行。我该如何解决?
非常感谢!
答案 0 :(得分:7)
当然它确实如此:您使用相同的stmt
创建一个新的stmt2
变量并在循环中使用它而不破坏前一个变量。
答案 1 :(得分:1)
第一:永远不要这样做
} catch (SQLException e) {
// do nothing
}
将e.printStackTrace()
添加到catch块。
我认为你这样做会有例外。您可能需要第二个语句变量。