在JDBC中处理可更新的结果集

咱们继续学Java——高级篇 第八十六篇:之JDBC高级特性(多结果集、键获取与可滚动结果集) 通过对JDBC多结果集处理、自动生成键获取以及可滚动和可更新结果集的学习,我们掌握了更高级的数据库操作技能。这些特性在处理复杂业务逻辑、优化用户体验以及提高数据处理效率等方面具有重要作用。在后续的学习中,我们将继续探索JDBC的其他高级特性,如事务处理、元数据获取等,进一步提升我们在数据库编程方面的能力。您的支持是我继续分享知识的动力,让我们一起在Java编程的道路上越走越远! 阅读详情
 
import java.sql.*;

public class TestPrepStmt {

    
public static void main(String[] args) {
        
        Statement stmt 
= null;
        Connection conn 
= null;
        
try {
            Class.forName(
"com.mysql.jdbc.Driver");
            String url 
= "jdbc:mysql://localhost/data?user=root&password=123456";
            conn 
= DriverManager.getConnection(url);
            
//注意处理可更新的结果集时,只能处理一张表,而且表中必须有主键。
            stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
            
            ResultSet rs
=stmt.executeQuery("select * from user");
            
            rs.next();
//定位到下一条记录
            
//更新一行数据
            rs.updateString("name","AAAA");
            rs.updateRow();

            
//插入新行
            rs.moveToInsertRow();
            
//rs.updateInt(1, 99);
            rs.updateString("name","AABB");
            rs.updateString(
"address", "BBBB");
            rs.insertRow();
            
//将光标移动到新建的行
            rs.moveToCurrentRow();

            
//删除行
            rs.absolute(5);
            rs.deleteRow();

            
//取消更新
            
//rs.cancelRowUpdates();
            
            
        }
 catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
 catch (SQLException e) {
            e.printStackTrace();
        }
 finally {
            
try {
                
if(stmt != null) {
                    stmt.close();
                    stmt 
= null;
                }

                
if(conn != null) {
                    conn.close();
                    conn 
= null;
                }

            }
 catch (SQLException e) {
                e.printStackTrace();
            }

        }

    }


}

EDA的未来:当AI与Cadence Virtuoso相遇 本文探讨了AI技术与Cadence Virtuoso在EDA领域的融合,展示了如何通过生成式AI提升芯片设计效率。文章详细分析了Virtuoso设计环境的智能化演进、AI驱动的设计辅助功能实现路径,以及SKILL语言的进化方向,为工程师提供了未来EDA工具的发展趋势和实用案例。 阅读详情

相关推荐

微信DAT图片解密全攻略:一键转换JPG/PNG/GIF

本文详细解析了微信电脑版中DAT图片的加密原理与存储路径,并提供了从定位文件到使用专业工具进行一键解密的完整操作指南。通过简单的步骤,用户可将加密的DAT文件无损还原为JPG、PNG或GIF格式,有效解决无法直接查看聊天图片的难题,同时兼顾了隐私清理与磁盘空间管理。

hill8的博客 1364

java连接sql server时,错误“已生成用于更新的结果集”

今天在写一个小程序时,用java去链接sql server提示错误: com.microsoft.sqlserver.jdbc.SQLServerException:已生成用于更新的结果集 寻寻觅觅找了很久之后猛然发现,我是想要查找表的总记录数: select COUNT(*) from goods 但是我却将链接查询语句写成了如下语句: preparedStatement = c

jnuyanfa的博客 1万+

ArcGISPro小白必看:5分钟搞定3D地形图制作(附免费数据源)

本文为ArcGISPro初学者提供5步制作专业3D地形图的完整指南,涵盖免费数据获取、项目初始化、数据预处理、3D场景构建和成果输出等关键步骤。特别推荐使用NASA的SRTM高程数据和吉林一号卫星影像,帮助用户快速掌握3D地形图制作技巧,适用于教学演示和科研分析。

weixin_28314575的博客 240

解决com.microsoft.sqlserver.jdbc.SQLServerException: 已生成用于更新的结果集问题。

com.microsoft.sqlserver.jdbc.SQLServerException: 已生成用于更新的结果集 做数据库课设的时候发现以往能够正常使用的executeUpdate()语句总是会在正常执行完命令之后报如标题的错误,这不影响操作结果,但不利于对报错的检索,我差了很多资料试了很多方法,比如给executeUpdate()设置一个int类型的返回值、换sql的jar包、使用另一款编译器、在sql语句之前添加set nocount on等,但都没有效果。 解决方法 最后才发现是我写了特殊的触

BruceYeWang的博客 3140

物理小白也能懂的PINN指南:用Python给神经网络注入‘物理常识‘

本文为物理小白提供了一份通俗易懂的PINN入门指南。通过生活化类比和Python实战,详细讲解了如何将物理定律作为约束注入神经网络,使其具备“物理常识”,从而在数据稀缺时也能做出符合规律的预测。文章以热传导方程为例,手把手教你从零构建物理信息神经网络。

open4的博客 349

JDBC RseultSet update 结果集更新

JDBC的结果集也可以更新,以前听闻过,从来没试验过,以前都是先查询结果集,然后在写个update语句

zhouyong19871123的专栏 406

【故障排查】telnet连接失败:端口23不可达的深度分析与解决方案

本文深度剖析了telnet连接失败,特别是端口23不可达的常见原因与系统性解决方案。文章从客户端本地配置、服务器端服务与防火墙、中间网络路径三个层面,提供了详细的排查步骤与命令,并强调了Telnet协议的安全风险,建议使用SSH等更安全的替代方案进行远程管理与端口测试。

weixin_29306011的博客 898

sqlserv已生成用于更新的结果集。_ML.NET API 和工具八月更新

ML.NET是一个开源的跨平台机器学习框架,适合 .NET 开发人员。它允许将机器学习集成到 .NET 应用中,而无需离开 .NET 生态系统。ML.NET工具(Visual Studio 中的模型生成器 UI 和跨平台 ML.NET CLI),可根据您的场景和数据自动训练自定义机器学习模型。在八月官方发布了ML.NET 1.5 和 1.5.1 以及新版本的模型生成器。其中包括了Bug修...

weixin_39892800的博客 443

【探秘】二维异形件重叠移除算法:从度量到消除的实战解析

本文深入解析二维异形件重叠移除算法的核心技术与实战应用,涵盖重叠度量、零件扰动策略及消除方法。通过NFP(临界多边形)技术、空间分区加速等优化手段,有效解决异形件排版中的重叠问题,提升材料利用率和计算效率。适合制造业、CAD软件开发者及算法工程师参考。

weixin_28698059的博客 252

从模糊到清晰:让AI教相机自动对焦的实战指南

AI自动对焦技术:让模糊照片成为过去式 深度学习驱动的自动对焦技术正颠覆传统摄影,使相机能在复杂场景下智能锁定焦点。相比传统对焦方法在弱光、低对比度环境下的失效,AI通过学习"清晰-模糊"规律,实现全场景精准对焦。本文详细解析了该技术的三大优势: 自适应各种光线条件; 毫秒级对焦速度; 突破物理限制的精度。 通过PyTorch搭建的CNN模型,展示了从数据采集到模型训练的全流程实战方案,包括使用拉普拉斯算子评估图像清晰度等关键技术。该技术已成功应用于手机摄影、工业检测、无人机航拍和安防监

LXY_LOVE36的博客 348

JDBC之处理可滚动的结果集和可更新的结果集

(一)ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。但是,可以生成可滚动和/或可更新的 ResultSet 对象。 ResultSet 接口提供用于从当前行获取列值的获取 方法(getBoolean、getLong 等)。可以使用...

qq30211478的博客 3172

关于瑞芯微SDK中buildroot的架构分析、配置细节、以及一些使用步骤

摘要:瑞芯微SDK基于Buildroot框架,针对RK3568等芯片提供定制化开发环境。核心目录包括buildroot(配置与编译框架)、kernel(定制内核)和u-boot(引导程序)。开发流程为:1)加载芯片默认配置;2)通过menuconfig定制系统(架构、内核、软件包等);3)可选修改内核配置。关键硬件适配需修改设备树(dts)和分区表(parameter.txt),系统行为通过启动脚本(S90network)调整。最终执行make编译生成可烧录固件。该框架通过配置文件驱动,实现从工具链构建到固

Hyjks的博客 1199

JDBC处理可更新的结果集

原来: 把结果集放到内存中,然后再内存中把数据改过来,内存会再数据库中找到对应的记录,然后把记录的内容改过来关键代码: Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE) 常用方法:        rs.moveToInsertRow

179

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

疯狂Java讲义_Chapter13MySQL数据库与JDBC编程:(2)管理结果集

1.可滚动、可更新的结果集 JDBC使用ResultSet来封装执行查询得到的查询结果,通过移动RS的迭代器指针来取出结果集的内容; 可以使用absolute(), previous(), afterLast()等方法自由移动指针的RS被称为可滚动结果集; 以默认方式创建的RS是不可更新的,如果希望RS可更新,需要在创建Statement时传入额外的参数:(page631) resultSetType; resultSetConcurrency; //使用Connection创建一个Prepare

工程师学徒AYG 5125

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JDBC学习之七:JDBC处理可更新的结果集(很少用)

尽量尽量少用!!! 不是很重要,至今没用到过! 能用老办法解决的尽量用老办法解决,这种方法一般的驱动不支持,甚至连Oracle都不支持, BUT,MySQL支持 转载于:https...

chuoxilan1313的博客 132

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JDBC的批量处理

JDBC的批量处理        主要内容如下: 1、  Statement的excute()方法只能执行一条sql语句,但是使用addBath()方法将要执行的sql语句加进来,然后执行excuteBath()方法,可在一次方法调用中执行多条sql语句,这样可以提高执行效率

6370

Jdbc标准编程

package com.yelang;import java.sql.*;public class TestJdbc{    public static void main(String[] args)    {        Connection conn = null;        Statement stmt = null;        R

野狼窝 580

Java基础(十四)-----JDBC(三)[JDBC高级]

可滚动的结果集和可更新的结果集 使用ResultSet的next方法可以遍历整个结果集,JDBC也提供了对结果集的一些处理,如设置结果集可滚动和可更新。为了从查询中获得可滚动的结果集,必须使用以下方法获得不同的Statement对象 Statement stmt = conn.createStatement(type,concurrency);或者 PreparedStament stmt=

yuan514168845的专栏 1323

【学习摘记】马士兵JDBC技术_课时15_JDBC处理可更新的结果集

【杂谈】 虽然你Sun规定了这接口了,Oracle也挺牛,对不起,我不支持。 是不是,你也不能使。看上去很美,可是你不能使。 这也是我为什么推荐大家——你能够用最传统的方式完成的东西,就不要使用新方式。因为新方式风险比较大,有可能他的驱动不支持。 我还是那句话,我支持用最传统的东西,为什么? 四处都可以得到支持,每种数据库都支持。 你写的这个程序,要从这种数据库,移到另外一种数据库

醒见夜明的博客 442

结局篇---JDBC2.0的新特性

<br />JDBC2.0的新特性<br />  可滚动结果集(可双向滚动)<br />  批处理更新  ***<br />  可更新结果集    <br />  <br />1、批处理更新<br />Statement<br />addBatch(String sql), 方法会在批处理缓存中加入一条sql语句<br />executeBatch() ,执行批处理缓存中的所有sql语句。<br />PreparedStatement<br />addBatch() 将一组参数添加到此 PreparedSt

徐良军的专栏 1174

Jdbc的学习,全面总结

在JAVA学习中过程中,当你向数据库展开进攻的时候,第一个接触到的就应该是JDBC了。下面是我当初学习的时候做的一些总结,不好的地方请指出。谢谢!!一.JDBC连接实例(尽量把程序写完善)1.读驱动Class.forName()|Class.forName().newInstance()|new DriverName()实例化时自动向DriverManager注册,不需显式调用Driv

XueJiang's Blog 1092

(12)JDBC的批量处理

11,09,16 今天课堂的主要内容:        这个礼拜,主要就是讲解JDBC部分,今天上课,老师首先带着我们回顾了昨天讲的JDBC事务控制,。        接着我们讲解了JDBC的批量处理。        主要内容如下: 1、  Statement的excut

*~~~~~向日葵、的眼里只有【太阳】 766

JDBC:其他API

批处理 static void createBatch() throws SQLException { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtils.getConnection(); String...

离开屏幕的光,哪盏灯照亮你的孤独? 145
上一篇: 在JSBC中处理可滚动的结果集
下一篇: JDBC中使用存储过程
wangjun_pfc
博客等级 码龄20年 254粉丝 299原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值