加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL问题汇总

发布时间:2020-12-13 17:16:57 所属栏目:百科 来源:网络整理
导读:问题一 问题描述 :在展示微博动态时,需要查询所有微博的内容,并且每次需要根据获取的微博id继续查询相应的评论,此即在“查询中执行查询”。上述操作在eclipse中报错。 问题思考 :在读取数据库查询结果的过程中是仍需要保持数据库连接的,读取完毕后需执

问题一

问题描述:在展示微博动态时,需要查询所有微博的内容,并且每次需要根据获取的微博id继续查询相应的评论,此即在“查询中执行查询”。上述操作在eclipse中报错。

问题思考:在读取数据库查询结果的过程中是仍需要保持数据库连接的,读取完毕后需执行resultSet.close()。若没有关闭连接而执行下一条查询,PostgreSQL会强制关闭并发出警告。至此,我们的问题来源已找到,读取查询到的第一条微博并据此查询微博评论时,PostgreSQL会强制关闭查询微博内容的连接,执行查询微博评论的操作,下一次循环是继续读取微博内容,而此时的微博内容读取连接已被强制删除,eclipse会因找不到变量而出错。

问题解决

  • 方法1:将上述两条sql语句整合为一条。
  • 方法2:将第一次查询的结果保存到数组,再据此进行第二次查询。
  • 方法3:在查询微博评论时新建数据库连接stmt2,如下:
stmt1 = conn.createStatement();
ResultSet wbcontent = stmt1.executeQuery(sqlA);
stmt2 = conn.createStatement();
ResultSet wbcomment = stmt2.executeQuery(sqlB);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读