博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ResultSet 的Type属性 TYPE_FORWARD_ONLY, TYPE_SCROLL_I
阅读量:6916 次
发布时间:2019-06-27

本文共 2799 字,大约阅读时间需要 9 分钟。

说明:Statement stmt = con.createStatement(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 
说明:Statement stmt = con.createStatement(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 

转载地址:http://zexcl.baihongyu.com/

你可能感兴趣的文章
Bustle的GraphQL实践
查看>>
Oracle推出轻量级Java微服务框架Helidon
查看>>
NoSQL 数据库敏捷数据模型
查看>>
Oracle回应用户锁定,自治数据库是更好选择
查看>>
函数式编程能否支持更高效的区块链基础设施?
查看>>
iOS 开发周报: 苹果回应微信关闭赞赏通知、iOS 静态库、动态库与 Framework 都是什么...
查看>>
苹果发布Core ML 2
查看>>
荷兰铁路在采纳敏捷和精益中的做法
查看>>
centos rocksdb 性能测试笔记(二)
查看>>
iOS开发之多线程浅析
查看>>
jquery 读书笔记
查看>>
修改监控录像时间的方法以及基础常识,必看! ...
查看>>
Troubleshooting High CPU Usage on Alibaba Cloud SQL Server
查看>>
手把手教你监督学习(附python实战代码)
查看>>
DataSet筛选数据然后添加到新的DataSet中引发的一系列血案
查看>>
设置select下拉菜单的默认选中项
查看>>
exe4j的使用
查看>>
TNS-12535 TNS-00505的处理方法
查看>>
R语言:数据输出至文件
查看>>
Linux下搭建 NFS
查看>>