获取 Java 中 ResultSet 返回的行数

2022-08-31 13:16:19

我使用了返回一定行数的 a。我的代码是这样的:ResultSet

ResultSet res = getData();
if(!res.next())
{
    System.out.println("No Data Found");
}
while(res.next())
{
    // code to display the data in the table.
}

有没有办法检查 返回的行数 ?还是我必须写我自己的?ResultSet


答案 1

首先,您应该创建可以通过命令移动光标的内容:Statement

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

然后检索如下:ResultSet

ResultSet rs = stmt.executeQuery(...);

将游标移动到最新一行并获取它:

if (rs.last()) {
    int rows = rs.getRow();
    // Move to beginning
    rs.beforeFirst();
    ...
}

rows 变量将包含 sql 返回的行数


答案 2

您可以使用循环而不是循环,以便在循环执行后调用,如下所示:do ... whilewhilers.next()

if (!rs.next()) {                            //if rs.next() returns false
                                             //then there are no rows.
    System.out.println("No records found");

}
else {
    do {
        // Get data from the current row and use it
    } while (rs.next());
}

或者在获取行时自行计算行数:

int count = 0;

while (rs.next()) {
    ++count;
    // Get data from the current row and use it
}

if (count == 0) {
    System.out.println("No records found");
}

推荐