huaeryushao 2019-04-26 10:00 采纳率: 0%
浏览 4951

运行报Operation not allowed after ResultSet closed错误

try {
long a = System.currentTimeMillis();
con = JdbcUtils_C3P0.getConnection();
String sql = "Select * from al1688shopmessageurl01 where num ";
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
int row = rs.getRow();
while (rs.next()) {
if (row % 100 == 0) {
StringBuffer str = new StringBuffer(
"insert into ali_goods_basic_info(UUID,NAME,URL,COMPANY_NAME,KEYWORD) values");

                str.append("('" + rs.getString("uuid") + "'," + "'" + rs.getString("title") + "'," + "'"
                        + rs.getString("url") + "'," + "'" + rs.getString("name") + "'," + "'"
                        + rs.getString("keywords") + "')");
                ps.executeUpdate(str.toString());
                //con.commit();
                System.out.println("ok");

            }

        }

        if (rs != null) {
            rs.close();
        }
        if (ps != null) {
            ps.close();
        }
        if (con != null) {
            con.close();
        }
        System.out.println("插入操作完成");
        System.out.println("\r<br>执行耗时 : " + (System.currentTimeMillis() - a) / 1000f + " 秒 ");
    } catch (SQLException e) {
        e.printStackTrace();
    }
  • 写回答

2条回答 默认 最新

  • threenewbee 2019-04-26 10:09
    关注

    ps.executeUpdate(str.toString());
    一个ps多个rs进行操作.
    不能互相交替使用,会引起rs已经关闭错误.
    你可以用两个独立的ps对象

    评论

报告相同问题?

悬赏问题

  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问
  • ¥15 初学者如何快速上手学习stm32?
  • ¥15 如何自动更换布娃娃图片上的衣服