如何将 ResultSet 转换为有用的整数?
Posted
技术标签:
【中文标题】如何将 ResultSet 转换为有用的整数?【英文标题】:How to convert ResultSet into a useful integer? 【发布时间】:2016-03-03 21:04:43 【问题描述】:我正在尝试执行 SQL 查询以查看我的表中有多少条记录。
我为此使用的 SQL 是 SELECT COUNT(*) FROM myTable;
然后查询被执行并存储在ResultSet
中。
int recordNumber = 0;
String sqlString = "SELECT COUNT(*) FROM myTable;";
try
ResultSet resultSet = stmt.executeQuery(sqlString);
resultSet.next();
recordNumber = Integer.parseInt(rst);
catch (Exception e)
我的问题是如何从ResultSet
中获取记录数?
【问题讨论】:
【参考方案1】:ResultSet
具有一系列 getXYZ(int)
方法,可通过其相对索引从中检索列,以及相应的 getXYZ(String)
方法可通过其别名检索这些列。在您的情况下,使用索引变体 getInt(int)
将是最简单的:
recordNumber = resultSet.getInt(1);
【讨论】:
【参考方案2】:尝试使用此查询将名称 count
添加到这样的列:
String sqlString = "SELECT COUNT(*) as count FROM myTable";
然后使用getInt(..)
,您可以像这样检索值:
if(resultSet.next())
recordNumber = resultSet.getInt(count);// with name of column
或者像这样使用列的索引:
if(resultSet.next())
recordNumber = resultSet.getInt(1);
【讨论】:
为什么在 ResultSet#getInt 已经返回 int 的地方调用 Integer.parseInt?以上是关于如何将 ResultSet 转换为有用的整数?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JDBC ResultSet 检索为 ArrayList?