今日总结:JDBC--ResultSet中的滚动和更新
2022/4/5 23:49:06
本文主要是介绍今日总结:JDBC--ResultSet中的滚动和更新,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对于preparedstatement 的格式,如下:
PreparedStatement pstmt = conn.prepareStatement(sql, ResultType,ResultSetConcurrency);
ResultType
ResultSet用来定位行的方法有,next(), last(), absolute(), previous(), afterLast()等等。
支持absolute(), previous(), afterLast()等方法的结果集,称为可滚动结果集。
ResultSetType支持三种取值,
- ResultSet.TYPE_FORWARD_ONLY, 只能向前移动(JDK1.4以前的默认值)
- ResultSet.TYPE_SCROLL_INSENSITIVE, 可滚动,但是底层数据的改变不会影响结果集
- ResultSet.TYPE_SCROLL_SENSITIVE, 可滚动,底层数据的改变会影响结果集
ResultSet.type2
resultSetConcurrency有两种取值
- ResultSet.CONCUR_READ_ONLY,只读的并发模式(默认)
- ResultSet.CONCUR_UPDATABLE,可更新的并发模式
另外,可更新的结果集还需要满足两个条件,
- 所有数据都来自一个表;
- 选出的数据集必须包含主键列
要通过结果集更新数据库,只需要调用ResultSet对象的updateXxx(index, value)方法修改和updateRow()方法提交即可
如
for (int i = rowCount; i > 0 ; i--) { rs.absolute(i); System.out.println("打印第 "+i+" 行: "+rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)); //修改当前行,第2列和第3列的值 rs.updateString(2, "学生名"+i); rs.updateString(3, "学生名"+(i+1)); //提交修改 rs.updateRow(); }
这篇关于今日总结:JDBC--ResultSet中的滚动和更新的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26怎么使用nsenter命令进入容器?-icode9专业技术文章分享
- 2024-12-26导入文件提示存在乱码,请确定使用的是UTF-8编码怎么解决?-icode9专业技术文章分享
- 2024-12-26csv文件怎么设置编码?-icode9专业技术文章分享
- 2024-12-25TypeScript基础知识详解
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享