判断ResultSet结果集是否为空

很多时候我们都要判断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());
	}

转自:https://blog.csdn.net/djun100/article/details/9281717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值