当前位置: 首页 > news >正文

(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解

说明:Statement stmt = con.createStatemen=(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明:

参数 int type

ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。

ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。

ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。

参数 int concurrency

ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。

ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。

查询语句

ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据

ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息

当我们使用ResultSet re=stmt.executeQuery(SQL语句)查询后,我们可以使用下列方法获得信息:

public boolean previous() 将游标向上移动,该方法返回boolean型数据,当移到结果集第一行之前时,返回false。

public void beforeFirst 将游标移动到结果集的初始位置,即在第一行之前。

public void afterLast() 将游标移到结果集最后一行之后。

public void first() 将游标移到结果集的第一行。

public void last() 将游标移到结果集的最后一行。

public boolean isAfterLast() 判断游标是否在最后一行之后。

public boolean isBeforeFirst() 判断游标是否在第一行之前。

public boolean ifFirst() 判断游标是否指向结果集的第一行。

public boolean isLast() 判断游标是否指向结果集的最后一行。

public int getRow() 得到当前游标所指向行的行号,行号从1开始,如果结果集没有行,返回0。

public boolean absolute(int row) 将游标移到参数row指定的行号。如果row取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时,该方法返回false

  

不带参数使用默认值:
createStatement()
=createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)

這樣取得的Statement其執行SQL後得到的ResultSet,將只能使用next()方法逐筆取得查詢結果。

您可以在建立Statement物件時指定resultSetType,可指定的參數有 ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE與 ResultSet.TYPE_SCROLL_SENSITIVE,在不指定的情況下,預設是第一個,也就是只能使用next()來逐筆取得資料,指定第二個或第三個,則可以使用ResultSet的afterLast()、previous()、absolute()、relative()等方法。

相关文章:

  • 【原创】关于mobile 和wince系统定制开发的最大区别
  • 军卫一号军卫二号相关论坛资料汇总
  • 如何在linux下解压缩rar格式的文件压缩包
  • Answer:关于C#连续赋值的面试题
  • 准备MCITP考试
  • Effective Java学习笔记-对于所有对象都通用的方法
  • SQL绕过注入最新代码
  • Context在android中的作用与实现
  • Android开发之Java集合类性能分析
  • ylmf os 里最小化后找不到了,只能用alt+tab查看?
  • Windows实战Git环境配置msysGit+TortoiseGit
  • 使用XmlWriter写Xml
  • android 教学
  • 思科无线1140AP电源注入器
  • HDU Fibonacci
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 08.Android之View事件问题
  • axios 和 cookie 的那些事
  • css的样式优先级
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript HTML DOM
  • Java反射-动态类加载和重新加载
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Nodejs和JavaWeb协助开发
  • Swoft 源码剖析 - 代码自动更新机制
  • vue 配置sass、scss全局变量
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 简单数学运算程序(不定期更新)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 离散点最小(凸)包围边界查找
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 我有几个粽子,和一个故事
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • # 透过事物看本质的能力怎么培养?
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • %check_box% in rails :coditions={:has_many , :through}
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)STL算法之元素计数
  • (3)llvm ir转换过程
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net 4.0并行库实用性演练
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net framework4与其client profile版本的区别
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET中的Exception处理(C#)