关于ResultSet只得到第一条记录的实现

 今天用jdbc读取数据库,用的是ResultSet,每次读出来都是一大堆记录,但是为了处理方便,我只需要每次读取记录的第一条.网上说用什么rs.first()方法,但是不靠谱,最后的解决方案如下。

public static ResultSet excuteSql(String sql) {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		url = GlobalsConfig.getDBUrl();
		user = GlobalsConfig.getDBUser();
		password = GlobalsConfig.getDBPwd();
		try {
			//int parameterIndex = 1;
			conn = DriverManager.getConnection(url, user, password);
			ps = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			//ps.setString(parameterIndex, "url");
			rs = ps.executeQuery();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return rs;
	}
  1.  其实最主要就是在这句ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY
  2. 然后,你只需要调用即可,如下
ResultSet rs = QueryDB.excuteSql(sql);
		if(rs.first()) {
			System.out.println(rs.getString("url"));
		}

这样就OK了!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值