我想执行一个选择查询并能够获得结果的计数,而不像 TOAD 那样使用“COUNT(*)”。这个概念是让用户可以选择输入他想要的任何“选择查询”并为他计算结果的数量。
try {
selectStatement = globalConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet selectResultSet = selectStatement.executeQuery(selectStatementString);
selectResultSet.last();
int countOfResults = selectResultSet.getRow();
writeInLabel(kllStatusLabel, "Count Finished: Found " + countOfResults + " Inserts");
} catch (SQLException ex) {
writeInLabel(kllStatusLabel, "Error executing select query.");
}
此代码在行中延迟很多:“selectResultSet.last();”。TOAD 以更少的延迟做到这一点。(右键单击-> 记录计数)。即使我在 TOAD 中一直向下滚动结果表,它也会更快。
TOAD 如何获得记录数?
好的,我知道了,我将使用 count(*) 并使用第二个 ResultSet 来显示我的结果。
ResultSet selectResultSet = selectStatement.executeQuery("select count(*) from (" + selectStatementString + ")");
int countOfResults = 0;
if (selectResultSet.next()){
countOfResults = selectResultSet.getInt(1);
}