Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接正忙,正在处理另一个hstmt的结果_Java - Fatal编程技术网

Java 连接正忙,正在处理另一个hstmt的结果

Java 连接正忙,正在处理另一个hstmt的结果,java,Java,我试图迭代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

我试图迭代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);
    }
但是会抛出下面给定的错误

java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt

请您建议如何摆脱它。

这是由于您对同一连接打开了一个打开结果集。例如,您执行一个SqlCommand以选择表中的所有行,而结果集未被清空,如果您尝试使用相同的连接执行另一个SqlCommand,则会出现此错误消息

要解决此问题,您有两个选择:

a。确保在发送下一个SqlCommand之前从挂起的结果集中读取了rest数据


b。使用MARS多个活动结果集连接设置可在连接中启用多个活动结果集

在C中,可以在使用命令对象后对其进行处理。命令对象的自动垃圾不够。尝试显式地释放它。也许你需要的是一份声明。只是猜测。

您是否尝试使用第二条语句进行插入?stmt2=con.createStatement?是。。第二个,即stmt1,用于inserting@LGPA:谢谢你的回复。。。但是我没有第二个选择。。你能提供一些关于这个项目的演示吗same@LGPA:但是我在这个特定的程序中使用SQL server 2000。。而且2000不支持itMARS…那么在使用另一个结果集之前,您只有关闭一个结果集的选项了!非常感谢你。。。一旦我为stmt1使用了不同的连接对象,我就得到了所需的输出。。。