java-sql 循环读取resultset结果

设置statement 为只读+可循环读取

ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY

rset.next():

初始从第一行的前一行后移,当后面一行没有值返回flase

rSet.absolute(0);

移动光标到第一行的前一行,-1 为倒数一行,1为第一行

 

 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance();  
			   Connection conn = DriverManager.getConnection("jdbc:sqlserver://"+Setting.severinfo,Setting.user,Setting.DBPassword); 
//			   conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			   PreparedStatement psStatement  =conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			   ResultSet rSet = psStatement.executeQuery();
			   ResultSetMetaData rsmd = rSet.getMetaData();
			   int columnsNumber = rsmd.getColumnCount();
				  for(int col=1;col<=columnsNumber;col++){
					ArrayList<String> data_col = new ArrayList<String>();
					while (rSet.next()) {
						data_col.add(rSet.getString(col));
					}
					data.put(rsmd.getColumnName(col), data_col);
					rSet.absolute(0);
					  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值