为了账号安全,请及时绑定邮箱和手机立即绑定

java while(rs.next()){}只执行一次?sql语句查过数据为601条,输出Resultset为601条。详见内容

java while(rs.next()){}只执行一次?sql语句查过数据为601条,输出Resultset为601条。详见内容

炎炎设计 2018-12-07 01:38:05
输出Resultset的总数位601. sql语句查询结果如下, 注意:我将下面两行都注释了,不过调试时while(rs.next()){}还是就执行一次。 //rs.last();//到ResultSet最后一行 //System.out.println(rs.getRow());//最后一行的RowId为601 1 //查询所有站点一天内自行车借出数目和归还数目、剩余自行车数目、站点名称、站点编号 2 public List<stationInfo> QueryStationInfo(){ 3 List<stationInfo> stationInfolist = new ArrayList<stationInfo>(); 4 5 String sql="select distinct stationId,stationName,stationlon,stationlat from station Order by stationId ASC"; 6 dbh = new DBHelper(sql); 7 try { 8 rs = dbh.ps.executeQuery(sql);// 执行语句,得到结果集 9 //rs.last();//到ResultSet最后一行 调试时注释了 10 //System.out.println(rs.getRow());//最后一行的RowId为601 11 12 while(rs.next()){ 13 System.out.println(rs.getRow()); 14 //if( (rs.getString("stationlon")!=null) 15 // &&(rs.getString("stationlat")!=null) ){ 16 17 int iStationId = Integer.parseInt(rs.getString("stationId")); 18 String StationName = rs.getString("stationName"); 19 float Stationlon = Float.parseFloat(rs.getString("stationlon")); 20 float Stationlat = Float.parseFloat(rs.getString("stationlat")); 21 float lendNum = QueryNumOfLend(iStationId); //获得一天内该站点借出自行车数目 22 float returnNum = QueryNumOfReturn(iStationId); //获得一天内该站点借出自行车数目 23 float leftNum = (float)(INITIAL_VALUE - lendNum + returnNum); //剩余自行车数目 24 /*System.out.println("iStationId:" + iStationId); 25 System.out.println("StationName:" + StationName); 26 System.out.println("Stationlon:" + Stationlon); 27 System.out.println("Stationlat:" + Stationlat); 28 System.out.println("lendNum:" + lendNum); 29 System.out.println("returnNum:" + returnNum); 30 System.out.println("leftNum:" + leftNum);*/ 31 32 stationInfo stationinfo = new stationInfo(); 34 stationinfo.setStationId(iStationId); 35 stationinfo.setStationName(StationName); 36 stationinfo.setStationlat(Stationlat); 37 stationinfo.setStationlon(Stationlon); 38 stationinfo.setInvitialNum(INITIAL_VALUE); 39 stationinfo.setStationReturnNum(returnNum); 40 stationinfo.setStationLendNum(lendNum); 41 stationinfo.setLeftNum(leftNum); 42 stationInfolist.add(stationinfo); 43 //} 44 } 45 for(stationInfo book : stationInfolist){ 46 System.out.println(book.getStationId()); 47 System.out.println(book.getStationlat()); 48 System.out.println(book.getStationLendNum()); 49 50 } 51 //rs.close(); 52 //dbh.close();// 关闭连接 53 } catch (Exception e){ 54 e.printStackTrace(); 55 } 56 return stationInfolist; 57 } 58 59 //++根据用户所选择的站点编号 查询一天内 该站点 自行车借出数目 60 public float QueryNumOfLend(int iStationId){ 61 float iRecordNum = 0; 62 String sql="select * from record where stationGoId ="+iStationId; 63 dbh =new DBHelper(sql); 64 try{ 65 rs = dbh.ps.executeQuery(sql);// 执行语句,得到结果集 66 while(rs.next()){ 67 iRecordNum += 1; 68 } 69 System.out.println(iRecordNum); 70 //rs.close(); 71 //dbh.close();// 关闭连接 72 } catch (Exception e) { 73 e.printStackTrace(); 74 } 75 return iRecordNum; 76 } 77 78 //++根据用户所选择的站点编号 查询一天内 该站点 自行车归还数目 79 public float QueryNumOfReturn(int iStationId){ 80 float iRecordNum = 0; 81 String sql="select * from record where stationBackId ="+iStationId; 82 dbh = new DBHelper(sql); 83 try{ 84 rs = dbh.ps.executeQuery(sql);// 执行语句,得到结果集 85 while(rs.next()){ 86 iRecordNum += 1; 87 } 88 System.out.println(iRecordNum); 89 //rs.close(); 90 //dbh.close();// 关闭连接 91 } catch (Exception e) { 92 e.printStackTrace(); 93 } 94 return iRecordNum; 95 }  
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我定义了一个公用的resultset,问题就在这。

查看完整回答
反对 回复 2018-12-16
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

不知道看那项来判断,不知道该百度什么,求指教。

第一次:

执行过一次后:

查看完整回答
反对 回复 2018-12-16
  • 3 回答
  • 0 关注
  • 677 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号