使用SELECT COUNT(*)获取ResultSet的大小

New*_*bie 0 java ms-access count

我想从数据库中检索所有数据,同时,我想知道我获得了多少行数据.这是我的SQL:

rs = s.executeQuery("SELECT COUNT(*), * FROM tblUser");
Run Code Online (Sandbox Code Playgroud)

这是一个有效的SQL语句吗?在我检索完所有数据之后,如何将它们设置为不同的变量?例如,我UserID在数据库中调用了一个列,我可以通过使用简单地获取它rs.getString('UserID'),但是如何获得结果COUNT(*)呢?

Gor*_*off 6

你的SQL是不是有效.执行所需操作的ANSI标准方法使用窗口函数:

select count(*) over () as total_cnt,
       u.*
from tblUser u;
Run Code Online (Sandbox Code Playgroud)

这会为每一行添加一个新列 - 这似乎就是您想要的.还有其他机制,具体取决于执行此操作的基础数据库.

  • 你是tblUser的别名.它允许更短的SQL语句.u.*与tblUser相同.*.您可以通过`rs.getInt(1)`或`rs.getInt("total_cnt")获取数据. (2认同)