📜  检查结果集是否为空 (1)

📅  最后修改于: 2023-12-03 15:26:49.119000             🧑  作者: Mango

检查结果集是否为空

在进行数据操作时,我们通常需要先执行 SQL 语句获取一个结果集,然后再对结果集进行处理。但有时候,执行 SQL 语句所得到的结果集是为空的,此时我们需要对结果集为空的情况进行处理。

方式一:判断集合长度

在 Java 中,我们可以通过判断集合的长度来判断结果集是否为空。当集合长度为 0 时,说明结果集为空。

List<String> resultList = queryResultList();
if (resultList.size() == 0) {
    // 结果集为空时的处理逻辑
} else {
    // 处理结果集
    for (String result : resultList) {
        // ...
    }
}

在其他编程语言中,也可以通过类似的方式来判断集合或数组是否为空。

方式二:使用 hasNext 方法

对于返回的结果集,我们也可以使用对应的 Iterator 对象来判断是否还有下一个元素。当没有下一个元素时,说明结果集为空。

ResultSet resultSet = statement.executeQuery(sql);
if (resultSet.next()) {
    // 处理结果集
    while (resultSet.next()) {
        // ...
    }
} else {
    // 结果集为空时的处理逻辑
}
方式三:使用 getRow 方法

在使用 JDBC 进行 SQL 查询时,可以通过 ResultSet 的 getRow 方法获取当前行号。当当前行号为 0 时,说明结果集为空。

ResultSet resultSet = statement.executeQuery(sql);
if (resultSet.last() && resultSet.getRow() == 0) {
    // 结果集为空时的处理逻辑
} else {
    // 处理结果集
    while (resultSet.next()) {
        // ...
    }
}
总结

检查结果集是否为空是数据操作中常用的一种操作。在进行结果集处理前,我们需要对结果集是否为空进行检查,以避免出现空指针等异常情况。以上介绍了三种检查结果集是否为空的方式,大家可以根据自己的实际情况来选择使用。