相关疑难解决方法(0)

获取java.sql.SQLException:ResultSet关闭后不允许操作

当我执行以下代码时,我得到一个例外.我认为这是因为我正在准备新的声明与他相同的连接对象.我应该如何重写这个以便我可以创建一个准备好的语句并使用rs2?即使连接到同一个DB,我是否必须创建新的连接对象?

    try 
    {
        //Get some stuff
        String name = "";
        String sql = "SELECT `name` FROM `user` WHERE `id` = " + userId + " LIMIT 1;";
        ResultSet rs = statement.executeQuery(sql);
        if(rs.next())
        {
            name = rs.getString("name");
        }

        String sql2 = "SELECT `id` FROM  `profiles` WHERE `id` =" + profId + ";";
        ResultSet rs2 = statement.executeQuery(sql2);
        String updateSql = "INSERT INTO `blah`............"; 
        PreparedStatement pst = (PreparedStatement)connection.prepareStatement(updateSql);    

        while(rs2.next()) 
        { 
            int id = rs2.getInt("id");
            int stuff = getStuff(id);

            pst.setInt(1, stuff);
            pst.addBatch();

        }

        pst.executeBatch(); …
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc resultset prepared-statement

20
推荐指数
2
解决办法
7万
查看次数

标签 统计

java ×1

jdbc ×1

mysql ×1

prepared-statement ×1

resultset ×1