- 1、本文档共110页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游标 游标 end 记录1 记录2 … 记录n 游标 start end 记录1 记录2 … 记录n start end 记录1 记录2 … 记录n 开始位置 结束位置 记录2为当前记录 图9.13 游标的位置 9.6.1 一般的查询流程(续) ResultSet接口提供了一组get方法用于获取当前记录的字段值。 使用get方法可以按照字段名或者字段号来获取字段的值,字段的列号从1开始,自左至右增加。 使用字段名可读性强。 使用字段号的效率比较高。 getString():用于读取字符型的字段。 getInt()读取整型字段。 ResultSet接口还提供了一些其他的get方法,其命名格式一般是get+数据类型。 9.6.1 一般的查询流程(续) 9.6 JDBC的工作流程 9.6.1 一般的查询流程 9.6.2 一般的更新流程 9.6.2 一般的更新流程 DBC中有两种方法可以实现对表的插入、更新和删除操作。 1、executeUpdate方法 Statement接口提供了executeUpdate(String sql)方法实现对表的更新操作,参数sql指Insert、Update和Delete语句,该方法的返回值是int类型,表示表中受影响的记录个数。 例如,删除学号为2007999的学生信息的过程如下: String sql =”DELETE FROM Student WHERE Sno = ”2007999””; st.executeUpdate(sql); 如果多条更新语句构成了一个事务,则要使用Connection接口的commit方法和rollback方法提交事务。 一般情况下,Connection对象的事务提交方式是自动。如果由用户控制事务,则首先要用setAutoCommit(Boolean)方法设置提交方式为手动。 例如,如果要手动提交上条修改语句的结果,执行序列如下: Conne.setAutoCommit(false); String sql =”DELETE FROM Student WHERE Sno = ”2007999””; st.executeUpdate(sql); mit(); conn.rollback(); 9.6.2 一般的更新流程(续) 9.6.2 一般的更新流程(续) 2、使用结果集 对数据库的表进行插入、删除和更新操作,除了使用Statement对象直接发送SQL语句外,还可以使用结果集对象的方法来完成。 (1) 更新操作 Update方法组:类似于get方法,有很多的update方法,如updateInt、updateString等,这些方法用于更新结果集的当前记录中指定字段的值。 updateRow()方法:用于向数据库提交更新操作,包含了commit的功能。 cancelUpdateRow()方法:用于撤销向数据库所做的所有更新操作。 (2) 插入操作 moveToInsertRow()方法:将游标移动到插入行,插入行是结果集中的一条特殊记录,所有记录的插入操作都是在该记录上完成的。游标位于插入行之上时,只能使用update方法组、get方法组和 insertRow()方法。 Update方法组:对插入行的字段赋值。 insertRow()方法:将插入行记录提交到数据库中。 start end 记录1 记录2 … 记录n 插入记录 图9.14 结果集由记录集合和插入记录组成 9.6.2 一般的更新流程(续) (3) 删除操作 移动光标到要删除的记录。 deleteRow()方法:将当前记录从数据库中删除。 [例 9.4] 向表Student中增加一个同学的信息。 st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet. CONCUR_READ_ONLY); rs = st.executeQuery(”SELECT * FROM Student”); rs.moveToInsertRow(); rs.updateString(”Sno”, ”2007999”); rs.updateString(”Sname”, ”马翔”); rs.updateString(”Sgender”, ”男”); rs.updateInt(”Sage”, 20); rs.updateString
您可能关注的文档
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第7章节课件幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第8章幻灯片.ppt
- 建筑材料第2版作者王秀花主编项目一建筑材料基础知识及实训1课案幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第8章节课件幻灯片.ppt
- 建筑材料分类及明细图片课件幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第9章幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第9章节课件幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第10章幻灯片.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第10章节课件幻灯片.ppt
- 基本护理技术章节晓幸张美琴电子教案项目二出入院护理课件幻灯片.ppt
文档评论(0)