问题一
问题描述:在展示微博动态时,需要查询所有微博的内容,并且每次需要根据获取的微博id继续查询相应的评论,此即在“查询中执行查询”。上述操作在eclipse中报错。
问题思考:在读取数据库查询结果的过程中是仍需要保持数据库连接的,读取完毕后需执行resultSet.close()
。若没有关闭连接而执行下一条查询,Postgresql会强制关闭并发出警告。至此,我们的问题来源已找到,读取查询到的第一条微博并据此查询微博评论时,Postgresql会强制关闭查询微博内容的连接,执行查询微博评论的操作,下一次循环是继续读取微博内容,而此时的微博内容读取连接已被强制删除,eclipse会因找不到变量而出错。
问题解决
stmt1 = conn.createStatement(); ResultSet wbcontent = stmt1.executeQuery(sqlA); stmt2 = conn.createStatement(); ResultSet wbcomment = stmt2.executeQuery(sqlB);