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

Java的ResultSet对象,默认是不可更新的

原博文:https://blog.csdn.net/friendan/article/details/7039229

        注意啊!Java的ResultSet对象,默认是不可更新的,仅有一个向前移动的指针,

因此,只能遍历它一次,并且只能按从第一行到最后一行的顺序进行。



如果需要ResultSet指针具有移动和可更新的特性,可以在使用createStatement()方法

获取Statement对象时指定一些参数。



//实例,获取ResultSet中含有的记录数量。



   在已获取ResultSet结果集的情况下,可以使用该对象的last()和getRow()方法取得

记录数量。



last()方法用于将指针指向最后一行记录。

getRow()方法用于返回当前指针所在的位置。



ResultSet默认情况下,只能使用next()方法向前逐行移动指针,不支持last()、first()、

以及absolute()等方法,如果要使用last()、absolute()等方法,必须在由Connection生成

Statement时指定相应的参数,格式如下:



Statement stmt =conn.ctrateStatement(游标类型,记录更新权限);



游标类型参数有以下几种:

ResultSet.TYPE_FORWORD_ONLY      
//指针只可以向前移动

ResultSet.TYPE_SCORLL_INSENSITIVE
//指针可滚动,但是不受其他用户
//对数据库更改的影响


ResultSet.TYPE_SCORLL_SENSITIVE
//指针可滚动,当其它用户更改数据
//库时这个记录也会改变



记录更新权限有以下几种:


ResultSet.CONCUR_READ_ONLY
//只读


ResultSet.CONCUR_UPDATABLE
//可更新





createStatement()缺省参数等价于:


createStatement(ResultSet.TYPE_FORWORD_ONLY,ResultSet.CONCUR_READ_ONLY);





/


获取结果集ResultSet记录数量的代码如下:


//此处省略连接数据库的代码和变量的定义!..


Statement stmt =conn.createStatement(ResultSet.TYPE_SCOLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);


ResultSet rs =stmt.executeQuery(“select * from Test”);


if(rs.last()){
count =rs.getRow();
//返回当前指针所在的位置
}


System.out.println(“记录数量为:”+count);



注:使用上述方法查询记录数量,在数据量很大时会出现内存溢出异常,因此不推荐使用。

要以使用SQL统计函数获取符合查询条件的记录数量,示例代码如下:


//此处省略连接数据库的代码和变量的定义!..

Statement stmt =conn.createStatement();


ResultSet rs   =stmt.executeQuery(“select * from Test”);


if(rs.next()){
count =rs.getInt(1);
//注:此处假设数据库中第一列数据类型为:自动编号
}


System.out.println(“记录数量为:”+count);





/


http://www.lryc.cn/news/2419569.html

相关文章:

  • DirectShow 概念介绍
  • bind9新手入门
  • 人本主义流派,罗杰斯人本主义理论,马斯洛的人本主义人格理论
  • CGO中使用ReadProcessMemory读取其他进程内存
  • linux构建widi显示服务,如此简单 Intel WiDi无线高清设置教程
  • Lua userdata详解
  • 典型相关分析 CCA
  • Makefile中常用到的函数总结
  • 2024年最新网络安全人士必备的13个漏洞库_通用漏洞数据库,2024年最新网络安全开发基础机构
  • 在浏览器中输入www.baidu.com后执行的全部过程
  • 博客管理系统设计与实现
  • 第二幕:C语言基础篇之基本数据类型(基本整型、短整型、长整型、双长整型、字符型、单精度浮点型、双精度浮点型、复数浮点型、无符号类型、布尔型、格式符(占位符))
  • 探索Python实用工具库:Boltons
  • VLAN的配置
  • selenium开发环境部署Maven官方依赖porm文件分享
  • 欧美风格网站设计的网页字体风格选择
  • 史上最污技术解读...啊哈~“好变态”~~~
  • AVPlayer 播放在线视频和本地文件(数据库)设置
  • 【RDMA】9. RDMA之Queue Pair
  • C基础-12
  • 书单(含资源链接,快撸!)
  • 网关配置入门:打造连接网络的桥梁
  • Python3.7 运行的时候提示缺少 zlib1.dll 最简单解决办法
  • HDU杭电OJ基础100题2000-2099(C语言版)
  • Win10下Windows Mobile设备中心无法连接斑马PDA 、无法拷贝文件———— Windows 设备中心64位安装包
  • 网站导航颜色停留_良好的网站导航设计有助于提升网站排名
  • 小向まな美
  • YOLO V7网络实现细节(2)—网络整体架构总结
  • PHP函数strip_tags的一个bug浅析
  • 图片外链网站需要什么样服务器,10个支持外链图片服务的免费图床网站