ResultSet内外移动

@author ixenos

内外移动指位置光标的移动


内移动就是一个ResultSet得到后的那个光标!

外移动就是多个ResultSet的迭代

内移动


一般的数据库都不允许单个查询提交多个SELECT语句,

1.execute执行SQL语句后,返回一个结果集ResultSet,

2.其中有个光标next在第一个元组之前(想象一下),调用hasNext就会判断光标下一个元组存不存在

3.rs.next定位行(元组triple),rs.getXXX定位列(字段field)

外移动


在执行存储过程中、或某些允许单个查询提交多个SELECT语句的操作中,可能会返回多个结果集

1.使用execute方法执行SQL语句,将获取第一个结果集或更新计数,

2.重复调用getMoreResults方法,将移动ResultSets的光标到下一个结果集,

3.当不存在更多的结果集或更新计数时,完成操作

4.stat.getResultSet定位当前结果集,stat.getUpdateStatement更新计数,stat.getMoreResults定位下一个结果集

boolean isResult = stat.execute(sql);

Boolean done = false;

while(!done){

      if(isResult){

           ResultSet result = stat.getResultSet();

           。。。

      }else{

           int updateCount = stat.getUpdateCount();

           //isResult是false,但count!=-1,说明存在SQL操作但不返回结果集

           if(updateCount >= 0){

                 。。。

           }else{

                 //count是-1时,说明getMoreResults没有结果集了,也没有别的SQL操作,此时退出

                 Done = true;

           }

      }

      if(!done)  isResult = stat.getMoreResults();

}

  

最新文章

  1. WebGIS中等值线前端生成绘制简析
  2. Tapestry
  3. 关于 xcode5 真机调试 的 no matching provisioning profiles found
  4. NYOJ 1058 部分和问题
  5. HTML5&CSS3经典动态表单-2
  6. hdu Bone Collector
  7. 四则运算app工程的进展
  8. Linux内核探讨-- 第七章
  9. Glimpse
  10. c#类初始化器
  11. SQL事务与并发
  12. 14-UIKit(拖拽手势、布局)
  13. jemeter逻辑控制器
  14. Hibernate---基础配置
  15. Mysql条件的类型决定了是否能走索引
  16. 让Xcode日志输出中文
  17. 201521123063 java第一周总结
  18. Unsupported major.minor version 51.0 错误解决方案
  19. 直接插入排序(js版)
  20. Caffe:如何将图片数据转换成lmdb文件

热门文章

  1. 【小程序】基于.NET CORE2.1 的 微信开放平台 第三方平台开发 教程一 准备工作
  2. AJPFX实列判断一个字符串是不是对称字符串
  3. 7.JAVA-类继承、覆写、final关键字
  4. Swift 中的基础语法(二)
  5. 白话容器namespace
  6. C#中的事件机制
  7. Uml 建模 一(类图建模和startuml的使用)
  8. jmeter 连接 sqlite 进行压力测试
  9. Java序列化技术性能分析(JDK原生与Protostuff)
  10. Websocket 关闭浏览器报错