【发布时间】:2016-08-07 09:27:48
【问题描述】:
我有一个从数据库获取数据并创建 excel 的应用程序。我想分离从 db 获取结果集的 dao 类和使用此结果集创建 excel 的类。
通过这种方式,我将 ResultSet 从 Dao 传递给其他类以创建 excel 文件。但是当我运行 rs.next() 时,它给了我“关闭的结果集:下一个”错误。 我在互联网上读到传递 ResultSet 不是一个好主意,因此我只是尝试在 dao 类中这样做并且它有效。
但是这样我不喜欢在 dao 类中做其他任务(创建 excel),我不想创建一个类然后将它们作为列表发送。所以我的问题是为什么将结果集传递给其他类或函数是不好的?为什么我通过它并尝试调用 rs.next() 时出现异常?
总结一下我的代码如下:
ResultSet rs = myDao.getResult();
ExcelCreator excelCreator = new ExcelCreator();
excelCreator.createExcel(rs);
【问题讨论】:
-
检查是否在你的 DAO 类中关闭连接,因为关闭连接也可能导致关闭 ResultSet