java.sql.SQLException:已关闭结果集:下一个[重复项]

问题描述 投票:0回答:1

我没有找到SQLExeption的原因,我在while(dbrs.next())处找到了它。很简单,可以正常工作,但是在更新到Oracle Server 19之后,出现了此错误。我仍然使用相同的帐户在Oracle Developer中获得了一个结果集。

Statement st = conn.createStatement();
if (Oracle){
  ResultSet dbrs = st.executeQuery("select table_name from all_tables");
  while(dbrs.next()){
     if (dbrs.getString(1).equals(G_IN)){
        st.execute("DROP TABLE "+G_IN);
        System.out.println(G_IN+" gelöscht");
     }
  }
  dbrs.close();
}else{
   String loeschen="DROP TABLE IF EXISTS \"" + G_IN +"\"";
   System.out.println(loeschen);
   st.execute( loeschen );
}
java oracle jdbc
1个回答
0
投票

您不应该像while循环那样重复使用Statement对象。要执行新查询,您需要使用新的Statement对象。

替换

st.execute("DROP TABLE "+G_IN);

with

conn.createStatement().execute("DROP TABLE "+G_IN);

它应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.