我正在尝试迭代ResultSet值以在while循环中插入查询。代码片段如下:
String sel="select roll_no from Nursery";
rs=stmt.executeQuery(sel);
stmt1=con.createStatement();
int aa;
while(rs.next())
{
aa=rs.getInt(1);
stmt1.executeUpdate("insert into [Nursery_FirstTerminal_marks](roll_no)values("+aa+")");
//stmt.close();
}
JOptionPane.showMessageDialog(null, "Data has been inserted");
}
catch(Exception e)
{
System.out.println(e);
// JOptionPane.showMessageDialog(null, e);
}
Run Code Online (Sandbox Code Playgroud)
但抛出以下给定的错误。
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt
Run Code Online (Sandbox Code Playgroud)
你能建议如何摆脱它吗..
这是由于您对同一连接打开了一个开放结果集而导致的。例如,您执行一个SqlCommand来从表中选择所有行,而结果集没有被清空,而您尝试使用相同的连接来执行另一个SqlCommand,则会出现此错误消息。
要解决此问题,您有两种选择:
一种。在发送下一个SqlCommand之前,请确保从未决结果集中读取其余数据。
b。使用MARS(多个活动结果集)连接设置来启用连接中的多个活动结果集。