在Java中使用相同的ResultSet
对象是否有坏习惯?为什么或者为什么不? //这似乎是我唯一的选择,因为我正在尝试查询表的记录数,然后查询该表的 View ;我不知道如何改变看法。
换句话说,是
ResultSet myResultSet = statement.executeQuery("SELECT count(*) FROM table");
myResultSet.next();
int recordCount = myResultSet.getInt(1);
myResultSet = statement.executeQuery("SELECT * FROM tableView");
//set other variables based on contents of fetched view
一个坏主意?
最佳答案
您发布的代码不会“重用相同的ResultSet
”,它只是丢弃一个ResultSet
对象,然后使用相同的变量来保存对由第二个ResultSet
创建的不同executeQuery
的引用。最好在第一个结果集上调用close()
,然后再用第二个结果集覆盖该引用,但这并不是绝对必要的,因为
(摘自ResultSet JavaDoc documentation,我的粗体)