如何将 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?

如何把ResultSet转换成Java对象

Javascript - 将整数转换为位数组

java 此类旨在将作为Db查询结果获取的ResultSet数据转换为JSON。还可以使用其他转换器方法

ResultSet can not re-read row data for column 1.