-
2019-03-21 19:32:08
很多时候我们都要判断ResultSet是否存在记录, 但是java里ResultSet 这个对象没有提供一个方法能判断 ,我们只能用next这个方法, next会滚动一条记录丢失第一条数据, 往往很多时候都需要第一条记录,所以我们要做相应的处理 我平常在开发中用到了以下两种形式 。
第一种方法 不及时更新ResultSet 结果集
//sql脚本 String sql="seelect * from tb_demo"; //改成可以双向滚动,但不及时更新,就是如果数据库里的数据修改过, //并不修改ResultSet记录 必须要改成 TYPE_SCROLL_INSENSITIVE PreparedStatement pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); //执行查询 ResultSet rs = pstmt.executeQuery(); //判断是否存在记录 if (rs.next()) { //存在记录 rs就要向上移一条记录 因为rs.next会滚动一条记录了 rs.previous(); //在执行while 循环 while(rs.next()){ system.out.println(rs.getInt(1)); } }
推荐第二种方法 及时更新ResultSet 结果集
//sql脚本 String sql="seelect * from tb_demo"; PreparedStatement pstmt = conn.prepareStatement(sql); //执行查询 ResultSet rs = pstmt.executeQuery(); //判断是否存在记录 if (rs.next()) { //有的话 先获取第一条记录 do{ System.out.println(rs.getInt(1)); } while(rs.next()); }
更多相关内容 -
Java之判断ResultSet结果集是否为空
2021-07-01 21:46:18记录一次憨憨行为:在判断结果集里面有没有值的时候,我傻傻的用“==null”来判断结果集是否为空,导致结果(一直是假象-----结果集里面有值),很小很小的错误,但就是在编码的时候一致追求速度导致马虎,导致了这次...前言
记录一次憨憨行为:在判断结果集里面有没有值的时候,我傻傻的用“==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("结果集为空!"); }
-
数据库结果集ResultSet判断为空记录数缺少一行和没有记录但永不为空问题
2020-12-14 19:26:59最近在做毕业设计,需要用到数据库,在用结果集ResultSet判断的时候遇到一个郁闷的事情。 一开始我的想法是这么一个框架: ResultSet rs = dao.executeQuery(sql); if(rs不为空){ while(rs.next()){ … } }else{ … ... -
查询的结果集是否为空如何判断
2015-10-18 13:58:50在连接数据库进行查询时,如果输入的查询对象在数据库中不存在时候,应该用以下的方法来作为判断 if(rs.isAfterLast()==rs.isBeforeFirst()){ System.out.print("您所查找的信息不存在,请确认后再查找!");} ...
在连接数据库进行查询时,如果输入的查询对象在数据库中不存在时候,应该用以下的方法来作为判断
if(rs.isAfterLast()==rs.isBeforeFirst()){
System.out.print("您所查找的信息不存在,请确认后再查找!");}
isBeforeFirst()的作用是获取光标是否位于此ResultSet
对象的第一行之前,而isAfterLast()的作用是获取光标是否位于此ResultSet
对象的最后一行之后,若这两个得到的值相等,则说明rs获得的内容为空;注意一点是rs获得的内容的判断不能用null来进行判断,若使用,则不能实现所要的结果。 -
mysql数据库,存储过程中如何判断游标Cursor中结果集是否为空
2016-09-20 16:47:421.mysql存储过程 drop procedure if exists curdemo CREATE PROCEDURE curdemo(pid int) BEGIN DECLARE notfound INT ... #定义一个辅助变量用于判断 DECLARE a int; #定义游标输出值赋予的变量 DECLARE ...1.mysql存储过程
drop procedure if exists curdemo CREATE PROCEDURE curdemo(pid int)
BEGIN
DECLARE notfound INT DEFAULT 0; #定义一个辅助变量用于判断
DECLARE a int; #定义游标输出值赋予的变量
DECLARE cur1 CURSOR FOR SELECT id FROM test.t where id= pid; #定义游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET notfound = 1; #定义declare continue handler,这个会根据上下文是否有结果判断是否执行SET notfound = 1, 必须在游标定义后定义
OPEN cur1;
FETCH cur1 INTO a;
if notfound = 1 then
select 'no result';
#写业务逻辑
ELSE
select concat('result:', a);
#写业务逻辑
end if;
CLOSE cur1;END
-
JDBC判断数据库的查询结果是否为空
2019-03-20 17:16:56Statement ps = conn.createStatement(); ResultSet rs = ps.executeQuery(sql); if (!rs.next()) { //rs为空时执行的内容... } else { //rs不为空时执行的内容... } -
java中判断集合是否为空
2020-10-08 20:59:44list.isEmpty() list.size... if(list ==null)是判断有没有这个集合 在我们判断集合是否为空的时候这样写就万无一失: List list = new Arraylist(); if(list!=null&&!list.isEmpty()){ //走集合不为空的逻辑 } OK!! -
JDBC编程中,结果集为空的判断方法
2016-01-19 19:31:24JDBC编程中,常常会通过ResultSet rs来获得结果集,判断结果集是否为空往往不能直接判断rs == null, 所以一个经常使用的方法如下 try{ conn = DB.getConn(); String sql = "Select count(*) from category ... -
php中判断mysql查询返回结果集是否为空
2014-10-27 11:45:00我是php的新手,对于判断 $query = "SELECT * FROM driver;... 我就想判断一下返回的$result是否为空 if(!$result)//不行 //后来网上查了一下,可以通过判断返回的记录条数是否为零来判断 if(mysql_n... -
JDBC判断数据库查询结果集是否为空
2012-11-09 15:42:00通常来说都是用rs.next()来判断结果集是否为空,但是由于执行rs.next()后指针指向的是结果集中的第一条记录,此时再用while(rs.next())取结果集中的数据就会导致第一条数据无法得到。所以用以下代码段是个比较好的... -
gorm v2 判断查询数据库为空的情况
2021-04-12 10:57:41if errors.Is(err, gorm.ErrRecordNotFound) { // 数据为空的处理。 } 为什么这样写,因为空有时是一种正常的业务逻辑,而不应该报错给用户。显示空或缺省值就好。 -
如何判断SQL语句查询结果为空?
2018-06-20 08:46:39执行空与不空的操作,那判断结果是否为空是关键。$sql="select * from `operate` where `no_end` = ''";$result=mysql_query($sql);if(!empty($result)){---不为空的执行的代码----}else{---为空的执行的... -
Django框架如何判断QuerySet结果集是否为空
2020-04-02 15:53:10代码如下 #验证登录 def relogin(request): #获取用户名与密码带入... name=request.POST.get('username'); password=request.POST.get('password'); rs=usertjn.objects.filter(name=name,password=password)... -
ResultSet rs结果集是否为空判断
2018-03-31 17:03:38ResultSet指针初始时是指向第一条记录的前面,当使用rs.next()时,指针正好指向第一条记录,因此当判断数据库里面是否有值时 用if(rs.next()){ ........} 另外rs.first()使指针指向第一条记录 rs.last()指向最后一... -
Java之判断ResultSet结果集是否为空!...
2011-12-04 12:43:42ResultSet表示select语句的查询结果集。ResultSet对象具有指向其当前数据行的指针, 最初,指针被置于第一行记录之前,通过next...遍历结果集,也可以利用该方法判断结果集是否为空。 示例代码如下: //此处 -
在PL/SQL中怎样判断查询的结果是否为空
2016-03-17 15:54:43那么怎样判断查询的结果是否为空呢?用count(*)先查一次当然可以,可这样做就会多查询一次,如果仅仅一次倒是无关紧要,可是如果在循环中,那么就会大大延长处理时间,增加服务器负担。 1、只有一个查询结果的查询... -
mybatis注解sql判断是否为空
2018-10-25 18:06:23@Options(useGeneratedKeys=true,keyProperty = "id",keyColumn = "id") @Update("<script> update "+Gather.TABLE_NAME+" set status = #{status} &... -
SQLServer 储存过程中各种判断是否为空
2019-01-08 11:18:261.判断是否存在这样的记录 IF NOT EXISTS 和 IF EXISTS 相对应 例:用户是否存在 IF NOT EXISTS IF EXISTS (SELECT 1 FROM USER(NOLOCK) WHERE USERNAME='ABCD') begin print '用户存在' end ... -
MySQL的JDBC判断查询结果是否为空以及获取查询结果行数的方法
2016-05-09 17:31:05判断查询结果是否为空 在JDBC中没有方法hasNext去判断是否有下一条数据,但是我们可以使用next方法来代替。 看next方法的官方解释: boolean next() throws Moves the cursor forward one row from ... -
SAS 判断数据集是否为空,并批量操作非空/空数据集
2019-04-18 14:42:00/*data:数据集,如果该数据集为空就删掉*/ data _null_; if 0 then set &data nobs=nobs; call symputx('nobs',nobs); stop; run; %if &nobs=0 %then %do; proc datasets lib=work nolist; delete ... -
判断Laravel Eloquent获取数据结果集是否为空
2019-05-15 17:23:46在使用Laravel Eloquent模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的。 var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回... -
django中ORM怎么判断查询结果是否为空
2019-10-09 14:47:49result= Booking.objects.filter() #方法一 .exists() if result.exists(): print "QuerySet has Data" else: print "QuerySet is empty" #方法二 .count()==0 if result.count() == 0: print "empty" ... -
如何判断java对象是否为空
2021-02-28 13:16:10首先来看一下工具StringUtils的判断方法:一种是org.apache....这两种StringUtils工具类判断对象是否为空是有差距的:StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判... -
thinkphp6 判断数据集数组是否为空的方法
2020-02-24 16:37:29// 数据集返回类型 'resultset_type' => 'collection', (数据库的查询结果也就是数据集,默认的配置下,数据集的类型是一个二维数组...如果要判断数据集是否为空,而必须使用数据集对象的isEmpty方法判断: ... -
Java中判断对象是否为空的方法的详解
2021-02-12 10:58:02首先来看一下工具StringUtils的判断方法:一种是org.apache....这两种StringUtils工具类判断对象是否为空是有差距的:StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判... -
laravel查询结果后判断是否为空
2019-10-29 14:20:11如果是get()查询的结果为空,其实$users打印值为object(Illuminate\Database\Eloquent\Collection)#339 (1) { ["items":protected]=> array(0) { } } : 类似为null的还有 pluck('name')等 $users = DB::table...