jdbc如何判断记录集是否为空?用啥方法?ResultSet本身是否根本就没有这样的方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbc如何判断记录集是否为空?用啥方法?ResultSet本身是否根本就没有这样的方法?相关的知识,希望对你有一定的参考价值。

while(ResultSet.next())...就是判断rs.next()是否为true,如果为true则说明记录集(rs)不为空,如果为FALSE,那么记录集(rs)为空! 参考技术A if(rs!=null&&rs.next())

System.out.println("rs不为空");

else

System.out.println("rs为空");



或者你定义一个变量如
int a=0;
while(rs.next() )

a++;

if(a == 0)
System.out.println("rs为空");

else
System.out.println("rs为空");
参考技术B while(ResultSet.next) 也就是说rs.next是不是等于true 参考技术C 可采用空指针异常
即抛出EXCEPTION no point 即可

Java之判断ResultSet结果集是否为空

前言

记录一次憨憨行为:在判断结果集里面有没有值的时候,我傻傻的用“==null”来判断结果集是否为空,导致结果(一直是假象-----结果集里面有值),很小很小的错误,但就是在编码的时候一致追求速度导致马虎,导致了这次憨憨行为。

以下憨憨行为:
错误示例:


if(rs==null){
System.out.println("结果集为空!");
}

else{
System.out.println("结果集不为空!");
}      

ResultSet表示select语句的查询结果集。ResultSet对象具有指向其当前数据行的指针,
最初,指针被置于第一行记录之前,通过next()方法可以将指针移动到下一行记录。

需要注意的是,不管查询出来有没有结果,ResultSet的值却不是null。

因此判断ResultSet的结果集是否为空可以用next()方法

示例代码如下:
正确示例:

if(rs.next()){
System.out.println("结果集不为空!");
}


else{
System.out.println("结果集为空!");
}      

以上是关于jdbc如何判断记录集是否为空?用啥方法?ResultSet本身是否根本就没有这样的方法?的主要内容,如果未能解决你的问题,请参考以下文章

在JDBC或者JSP当中如何判断密码不为空?

Java之判断ResultSet结果集是否为空

如何判断一个集合是不是为空?

Laravel Eloquent 判断取出的结果集是否为空

laravel中判断eloquent是否为空

如何在pl/sql中判断一个记录变量为空