JAVA循环中的语句执行
我尝试在循环中执行JAVA循环中的语句执行,java,oracle,plsql,Java,Oracle,Plsql,我尝试在循环中执行INSERT查询: String selectTableSQL = "SELECT * " + "FROM testTable"; ResultSet rs = stmt.executeQuery(selectTableSQL); while (rs.next()) { String rangeName = rs.getString("RANGENAME"); insertTab
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
query并打印rangeName
,则屏幕上的所有内容都能正常工作(有很多值,而不是只有一个)。因此,问题在于语句执行。我怎样才能解决它
多谢各位 当然有:您使用的是相同的
stmt
创建一个新的
stmt2
变量,并在循环内使用它,而不破坏前一个变量。当然可以:您使用的是相同的stmt
创建一个新的
stmt2
变量,并在循环内使用它,而不破坏前一个变量。首先:不要这样做
} catch (SQLException e) {
// do nothing
}
将e.printStackTrace()
添加到catch块
我想你这样做会有例外。您可能需要第二个语句变量。第一:永远不要这样做
} catch (SQLException e) {
// do nothing
}
将e.printStackTrace()
添加到catch块
我想你这样做会有例外。您可能需要第二个语句变量。+1。考虑使用
PreparedStatement
作为INSERT
.alfasin,因此我应该在cycle?@user3649515中创建stmt2
,无论在何处声明它,但是可以在循环中声明和分配它。第二,Axel的good point,使用PreparedStatement
进行插入。参见这里的示例:+1。考虑使用PreparedStatement
作为INSERT
.alfasin,因此我应该在cycle?@user3649515中创建stmt2
,无论在何处声明它,但是可以在循环中声明和分配它。第二,Axel的good point,使用PreparedStatement
进行插入。请参阅这里的示例:如果这不是一个虚构的示例,您是否考虑使用TestTabLE2中的“代码>插入”来选择TestTabe<代码> Syym中的RangeNeNm,不,我不能。这仅仅是代码的一部分,如果这不是一个伪造的例子,你是否考虑过使用“代码>插入到TestTabLE2中选择TestTabe<代码> Syym中的RangeNeNe,不,我不能。这只是代码的一部分