JSP中基本数据库操作.ppt

上传人:re****.1 文档编号:570652000 上传时间:2024-08-05 格式:PPT 页数:175 大小:2.32MB
返回 下载 相关 举报
JSP中基本数据库操作.ppt_第1页
第1页 / 共175页
JSP中基本数据库操作.ppt_第2页
第2页 / 共175页
JSP中基本数据库操作.ppt_第3页
第3页 / 共175页
JSP中基本数据库操作.ppt_第4页
第4页 / 共175页
JSP中基本数据库操作.ppt_第5页
第5页 / 共175页
点击查看更多>>
资源描述

《JSP中基本数据库操作.ppt》由会员分享,可在线阅读,更多相关《JSP中基本数据库操作.ppt(175页珍藏版)》请在金锄头文库上搜索。

1、 | 海 有 | 壁 无 |一切为了学生。 | 纳 容 | 立 欲 |为了学生一切。 | 百 乃 | 千 则 |岂能事事如意,但求无愧于心。 | 川 大 | 仞 刚 |把微笑留给世界,让世界因你微笑!8/5/20241温故而知新!8/5/20242第5章JSP的常用内置对象5.1out对象5.1.1out对象的基础知识5.1.2out对象应用实例5.2request对象5.2.1request对象的基础知识5.2.2request对象应用实例5.3response对象5.3.1response对象的基础知识5.3.2response对象应用实例5.4session对象5.4.1session对

2、象的基础知识5.4.2session对象应用实例8/5/202435.5pageContext对象5.5.1pageContext对象的基础知识5.5.2pageContext对象应用实例5.6exception对象5.6.1exception对象的基础知识5.6.2exception对象应用实例5.7application对象5.7.1application对象的基础知识5.7.2application对象应用实例5.8常见问题及解决方案8/5/20244第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库

3、及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/202456.1JDBC基础知识vJDBC全称为JavaDataBaseConnectivity,两组分别面向应用程序开发人员和数据库驱动程序开发人员的应用程序接口(ApplicationProgrammingInterface,API),以及将前者向后者转化的内在封装逻辑。vJDBC是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。JDBC也是java核心类库的一部分,由一些Java语言编写的类和界面组成。JDBC为数据库应

4、用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。8/5/20246JDBC的功能:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果。8/5/20247JDBC结构8/5/202481. 应用程序应用程序 v应用程序实现JDBC的连接、发送SQL、然后获取结果的功能,执行以下任务:与数据源请求建立连接;向数据源发送SQL请求;为结果集定义存储应用和数据类型;询问结果;处理错误;控制传输,提交操作;关闭连接。2. JDBC APIvJDBCAPI是一个标准统一的SQL数据存取接口。为Ja

5、va程序提供统一的操作各种数据库的接口。程序员编程时,不用关心它所要操作的数据库是哪种数据库,从而提高了软件的通用性。只要系统上安装了正确的驱动器组件,JDBC应用程序就可以访问其相关的数据库。8/5/202493. 驱动程序管理器驱动程序管理器 vJDBC驱动程序管理器的主要作用是代表用户的应用程序调入特定驱动程序,要完成的任务包括:为特定数据库定位驱动程序;处理JDBC初始化调用等。4. 驱动程序驱动程序v驱动程序实现JDBC的连接,向特定数据源发送SQL声明,并且为应用程序获取结果。5. 数据库数据库v数据库是应用程序想访问的数据源(如Oracle、MicrosoftSQLServer、

6、MySQL)。8/5/202410第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/2024116.2通过JDBC-ODBC桥访问数据库6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例8/5/202412vJava.sql.DriverManag

7、er:处理驱动的调入并对产生新的数据局连接提供支持。vJava.sql.Connection:对特定数据库连接。vJava.sql.Satement:一个容器,对特定的数据库执行SQL语句。vJava.sql.ResultSet:对特定语句的行数据的存取。vJava.sql.ResultSet分为:vJava.sql.PreparedStatement:用于执行预编译的SQL语句。vJava.sql.CallableStatement:用于执行对数据库内嵌过程的调用。8/5/202413使用JDBCODBC桥访问数据库v由于微软的数据库不是用Java语言来编写的,但是需要用Java语言连接微软

8、的数据库,这样就要编写一个桥连接,使Java语言编写的代码也可以操作数据库。JDBC-ODBC桥驱动程序由Sun与Merant公司联合开发,主要功能是把JDBCAPI调用转换成ODBCAPI调用,然后ODBCAPI调用针对供应商的ODBC驱动程序来访问数据库,即利用JDBC-ODBC桥通过ODBC来访问数据库。vJDBC-ODBC桥是一个JDBC驱动程序,对ODBC而言,它像是通用的应用程序,桥为所有适用于ODBC的数据库实现JDBC连接。桥驱动程序为Java应用程序提供了一种把JDBC调用映射为ODBC调用的方法。因此,需要在客户端机器上安装ODBC驱动。JDBC-ODBC桥在JDBCAPI

9、和ODBCAPI之间提供了一个桥梁,桥把标准的JDBC调用翻译成对应的ODBC调用,然后通过ODBC库把它们发送到ODBC数据源中。v建议尽可能使用纯JavaJDBC驱动程序代替桥和ODBC驱动程序,这可以完全省去了ODBC所需的客户机配置,也免除了Java虚拟机被桥引入的本地代码中的错误所产生破坏的可能性。8/5/2024141. 创建创建Access文件文件v使用Office中的Access应用程序,创建一个数据库名为stu.mdb的数据库,并在该数据库中创建一个名为stuInfo的表。数据库名、表名以及表中数据如图6-2所示。8/5/2024158/5/2024168/5/2024172

10、. 配置数据源配置数据源v通过JDBC-ODBC桥访问Access需要配置数据源,配置步骤如下:(1)点击“控制面板”-“管理工具”-“数据源(ODBC)”,弹出如图6-3所示对话框。(2)在图6-3中,点击“系统DSN”-“添加”,弹出如图6-4所示的对话框,在图6-4中选定“MicrosoftAccessDriver(*.mdb)”后点击“完成”弹出图6-5所示对话框。(3)在图6-5中输入数据源“acc”,点击“选择”弹出如图6-6所示的对话框。(4)在图6-6中选定Access数据库stu.mdb后点击“确定”返回到上一层对话框,继续点击“确定”完成对Access的配置。8/5/202

11、4188/5/2024198/5/2024203. 编写编写JSP文件访问数据库(文件访问数据库(stuInfo.jsp)【例6-1】使用数据源访问Access数据库的JSP页面(stuInfo.jsp)1.2.3.4. 5. 6. 通过桥访问通过桥访问Access应用实例应用实例7. 8. 9. 10. 11. 学院学院12. 专业专业13. 学号学号14. 姓名姓名v 性别性别v 年龄年龄1. 宿舍宿舍2. 电话电话3. 籍贯籍贯4. 8/5/2024211.8/5/2024221. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 15. 16. 21. 22. 2

12、3. 8/5/2024238/5/202424JDBCODBC桥访问Access数据库分析v加载驱动程序。在JDBC连接到ODBC数据库之前,必须加载JDBCODBC桥驱动程序,代码为:vClass.forName(sun.jdbc.odbc.JdbcOdbcDriver)v加载JDBCODBC桥驱动程序程序后,就可以连接数据库了。首先要创建Connection类的一个实例,并使用DriverManager(java.sql包)方法的getConnection来测试使用url指定的数据库连接。v连接到数据库后就可以访问数据库了。先使用Connection类对象的createStatement方

13、法从指定的数据库连接得到一个Statement的实例,然后使用这个实例的executeQuery()方法来执行SQL语句。v对数据库的访问结束之后,及时的关闭相应对象,从而释放所占的资源。8/5/2024256.2通过JDBC-ODBC桥访问数据库6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例8/5/2024268/5/2024271. 创建创建Excel文件文件v使用使用Office中的中的Excel应用程序,创建一应用程序,创建一个名为个名为“软件技术专业成绩软件技术专业成绩

14、.xls”电子表电子表格。格。Excel电子表格中的命名以及数据如电子表格中的命名以及数据如图图6-8所示。所示。8/5/2024288/5/2024292.配置配置Excel数据源数据源v通过通过JDBC-ODBC桥的方式访问桥的方式访问Excel工作表工作表中的数据,首先要创建中的数据,首先要创建Excel数据源,这与创数据源,这与创建建Access数据源方法非常相似,只是在数据源方法非常相似,只是在“创创建新数据源对话框建新数据源对话框”选择选择Microsoft Excel Driver(*.xls)”选项,然后在选项,然后在“ODBC Microsoft Excel安装安装”窗口选择

15、窗口选择“软件技术软件技术专业成绩专业成绩.xls”工作表即可,这里不再介绍。工作表即可,这里不再介绍。8/5/2024303. 编写编写JSP文件访问文件访问Excel(stuScore.jsp)【例例6-2】使用数据源访问使用数据源访问Excel电子表格的电子表格的JSP页面(页面(stuScore.jsp)1.2.3.4. 5. 6. 通过桥访问通过桥访问Excel应用实例应用实例7. 8. 9. 10. 11. 专业专业12. 学号学号13. 姓名姓名14. 班级班级v 英语英语v 国学(论语)国学(论语)1. 高数高数2. Java3. JSP4. 计算机网络计算机网络5. Java

16、项目实训项目实训6. JSP项目实训项目实训7. 8/5/2024311.8/5/2024321.2.3.4.5.6.7.8.9.10.11.12.13.14.15.8/5/2024331.2.7.8.9.8/5/2024348/5/2024356.2通过JDBC-ODBC桥访问数据库6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例8/5/2024361. 创建表创建表v本例中使用SQLServer2008建一个student数据库,并在该数据库中创建一个info表,数据库、表以及

17、表的字段如图6-10所示。表的数据如图6-11所示。8/5/2024378/5/2024388/5/2024392. 配置配置Microsoft SQL Server 2008数据源数据源8/5/2024408/5/2024418/5/2024428/5/2024438/5/2024448/5/2024458/5/2024463. 编写编写JSP文件访问文件访问Microsoft SQL Server 2008(ODBCSQLServer.jsp)【例6-3】使用数据源访问SQLServer2008的JSP页面(ODBCSQLServer.jsp)1.2.3.4.5.6.通过数据源访问SQLS

18、erver20087.8.9.10.11.12.13.14.通过数据源访问SQLServer2008数据库vv8/5/2024471.2.3.学号4.姓名5.性别6.年龄7.体重8.9.8/5/2024481.2.3.4.5.6.7.8.14.15.16.17.18.8/5/2024498/5/202450第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/2

19、024516.3通过JDBC驱动访问数据库6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例8/5/202452v前面介绍了如何使用JDBCODBC连接Access数据库,使用JDBCODBC还可以连接SQLServer数据库。其实有很多数据库提供商提供了数据库的JDBC驱动程序,可以直接访问数据库,例如,微软提供了JDBC直接连接SQLServer数据库JDBC驱动程序sqlserverdriverforjdbc,使得可以直接使用JDBC访问SQLS

20、erver数据库。8/5/2024531. MySQL JDBC驱动下载和配置驱动下载和配置v本教程使用的是MySQL5.0,下载支持5.0版本的JDBC驱动。本教程使用的JDBC驱动是mysql-connector-java-5.0.6-bin.jar。下载完成MySQL的JDBC驱动后,把该文件可以放到任意目录下,这里假设该目录是“D:JSP程序设计与项目实训教程ch06”。然后设置ClassPath以保证Web服务器能够访问到这个驱动程序。设置方法如下:(1)依次进入“我的电脑”-“系统”-“设置环境变量”,如果已经有ClassPath变量就编辑该变量的值,否则增加ClassPath变量

21、。(2)设置ClassPath的值为:“.;D:JSP程序设计与项目实训教程ch06mysql-connector-java-5.0.6-bin.jar”。(3)重新启动服务器即可。8/5/202454(1)MySQL的JDBC驱动在NetBeans中的配置v在NetBeans项目“ch06”上右单击,如图6-20所示,单击“属性”弹出对话框,在对话框中选择“库”-“添加JAR/文件夹(F)”,找到MySQLJDBC驱动所在位置,如图6-21所示。找到驱动位置后点击“打开”,MySQLJDBC驱动配置完成。8/5/2024558/5/2024568/5/202457(2)MySQL的JDBC驱

22、动在MyEclipse中的配置v在MyEclipse项目“ch06”上右单击,在属性菜单中单击“BuildPath”-“ConfigureBuildPath”,如图6-22所示。单击“ConfigureBuildPath”,弹出对话框如图6-23,在对话框中选择卡“Libraries”-“AddExternalJARS”,找到MySQLJDBC驱动所在位置,如图6-24所示。找到驱动位置后点击“打开”,MySQLJDBC驱动在MyEclipse中配置完成。8/5/2024588/5/2024598/5/2024608/5/2024612. MySQL建立数据库和表建立数据库和表8/5/2024

23、623.编写编写JSP文件访问数据库(文件访问数据库(accessMySQL.jsp)1.2.3.4. 5. 6. 通过通过MySQL的的JDBC驱动访问数据库驱动访问数据库7. 8. 9. 使用使用MySQL的的JDBC驱动访问驱动访问MySQL数据库数据库10. 11. 12. 13. 学号学号14. 姓名姓名15. 专业专业v 8/5/2024631.8/5/2024641.2.3.4.5.6.7.13.14.15.16.8/5/2024658/5/2024666.3通过JDBC驱动访问数据库6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer20

24、00数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例8/5/2024671.Microsoft SQL Server JDBC驱动下载和驱动下载和配置配置8/5/2024688/5/202469v(安装)v复制MicrosoftSQLServer2000DriverforJDBCLib下面的jar包到服务器commonlib8/5/2024702. Microsoft SQL Server建立数据库和表建立数据库和表v本例使用了SQLServer2000自带的pubs数据库,将其设置为Windows和SQL混合模式登录,用户名字为sa,密码为空。8

25、/5/2024718/5/202472v登录模式和sa设置步骤为:(1)点击属性v点击“开始”-“所有程序”-“MicrosoftSQLServer”-“企业管理器”-“(local)(WindowsNT)”-“属性”,如图6-29所示。(2)设置混合登录模式v在图6-29中,在“身份验证”中选择“SQLServer和Windows【s】”。8/5/202473(3)添加系统管理员savsa是SQLServer默认的数据库管理员用户名。在图6-29企业器属性结构中,选择“安全性”-“登录”-“新建登录”,如图6-30所示。点击“新建登录”后弹出如图6-31所示对话框,在该对话框中输入用户名为“

26、sa”,身份验证选择“SQLServer身份验证”,为用户输入密码,选择要操作的数据库名“pubs”。(4)设置其它选项卡v在图6-31“服务器角色”选项卡中,选择数据库管理员身份“SystemAdministrators”,如图6-32所示。v在图6-31“数据库访问”选项卡中,选择要访问的数据库名,并指定对该数据库所允许的操作,public是公共操作,db_owner是数据库所有者能够进行的操作,如图6-33所示。8/5/2024748/5/2024758/5/2024768/5/2024778/5/2024783.编写编写JSP文件访问数据库(文件访问数据库(accessSQLServe

27、r.jsp)【例例6-5】使用驱动访问使用驱动访问SQL Server 2000的的JSP页面页面(accessSQLServer.jsp)1.2.3.4.5.6.通过SQLServer的JDBC驱动访问数据库7.8.9.10.11.欢迎使用SQLServer的JDBC驱动访问SQLServer数据库12.v8/5/2024791.2.3. job_id4. job_desc5. min_lvl6. max_lvl7.8.8/5/2024801.2. 3. 4. 5. 6.7.13.14.15.16.17.8/5/2024818/5/2024826.3通过JDBC驱动访问数据库6.3.1访问M

28、ySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例8/5/2024831. Microsoft SQL Server JDBC驱动下载和配置驱动下载和配置v如果数据库使用的MicrosoftSQLServer2008,在Microsoft网站下载MicrosoftJDBCDriver4.0forSQLServer。下载后进行解压,解压后如图6-35所示有2个JAR包。设置ClassPath以保证Web服务器能够访问到这个驱动程序。设置方法如下:(1)依次进入“我的电脑

29、”-“系统”-“设置环境变量”,如果已经有ClassPath变量就编辑该变量的值,否则增加ClassPath变量;(2)设置ClassPath的值为:“.;D:JSP程序设计与项目实训教程ch06MicrosoftJDBCDriver4.0forSQLServersqljdbc_4.0chssqljdbc4.jar”。只使用图6-35中的sqljdbc4.jar文件,sqljdbc.jar文件不使用,所以不需要配置。(3)重新启动服务器即可。8/5/2024848/5/202485v如果开发JavaWeb项目使用的是NetBeans、MyEclipse和Eclipse。加载JDBC驱动和加载M

30、ySQL的驱动相似,不过在使用MicrosoftJDBCDriver4.0forSQLServer驱动时,需要sqljdbc4.jar文件,如图6-36所示。8/5/2024868/5/2024872. Microsoft SQL Server 2008建立数据库和表建立数据库和表v使用的数据库、表以及数据如图使用的数据库、表以及数据如图6-10、图、图6-11所示。所示。v登录模式和登录模式和sa设置步骤为:设置步骤为:8/5/2024888/5/2024898/5/2024908/5/2024918/5/2024928/5/2024938/5/2024943. 编写编写JSP文件访问数据库

31、(文件访问数据库(accessSQLServer2008.jsp)【例6-6】使用驱动访问SQLServer2008的JSP页面(accessSQLServer2008.jsp)1.2.3.4.5.6.通过JDBC驱动访问SQLServer20087.8.9.10.11.使用JDBC驱动访问SQLServer2008数据库12.8/5/2024951.2.3.学号4.姓名5.性别6.年龄7.体重8.9.8/5/2024961.2.3.4.5.6.7.8.14.15.16.17.18.8/5/2024978/5/202498第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-O

32、DBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/2024996.4查询数据库及其应用实例vSQL的查询语句vJSP发送执行查询语句8/5/2024100SQL的查询语句v在查询数据库中的记录时,都是通过标准的SQL语句来实现的。SQL的查询语句即SELECT语句,是SQL语言的核心,其语法格式为:SELECTALL|DISTINCTcolumn1,column2FROMtable1,table2WHEREconditionsG

33、ROUPBYcolumn-listHAVINGconditionsORDERBYcolumn-listASC|DESC其中,column1,column2为要查询的列名。table1,table2用来指定要查询的表的名称。WHERE“conditions”用来指定用于限制返回的结果的搜索条件。HAVING“conditions用来指定组或聚合的搜索条件。ORDERBY”column-list“ASC|DESC用来指定结果集的排序。例如:SELECTid,nameFROMstu_infoWHERE(age=?AND性别=?);8/5/2024105【例6-7】利用PreparedStatemen

34、t对象查询info表信息(PreparedStatementSQL.jsp)8/5/20241061.2.3.4.5.6.PreparedStatement类的使用7.8.9.10.11.12.使用PreparedStatement类访问SQLServer200813.8/5/20241071.2.3.学号4.姓名5.性别6.年龄7.体重8.8/5/20241081.=?and9.studentAge8/5/20241091.2. 3. 4. 5. 6. 7.8.14.15.16.17.18.8/5/20241108/5/20241113.ResultSet的方法的方法v可以通过可以通过Res

35、ultSet对象的方法在结果集对象的方法在结果集中进行滚动查询。常用滚动查询的方法中进行滚动查询。常用滚动查询的方法见表见表6-2。8/5/20241128/5/2024113【例6-8】ResultSet对象的游标滚动(ResultSetSQL.jsp)1.2.3.4.5.6.ResultSet方法使用7.8.9.使用ResultSet方法访问SQLServer200810.8/5/20241141.2.3.学号4.姓名5.性别6.年龄7.体重8.8/5/20241151.8/5/20241161.2.3.4.5.6.7.8.14.15.16.17.18.8/5/20241178/5/202

36、4118第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/20241196.5更新数据库(增、删、改)及其应用实例vSQL的更新语句vJSP发送执行更新语句8/5/2024120SQL的更新语句vSQL语言中使用UPDATE语句来更新表中的现有数据。其语法格式为:UPDATEtable_nameSETcolumn_name=expression,column

37、_name1=expressionWHEREsearch_condition其中,table_name:用来指定需要更新的表的名称。如果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。SETcolumn_name=expression,column_name1=expression:指定要更新的列或变量名称的列表,column_name指定含有要更改数据的列的名称。WHEREsearch_condition:指定条件来限定所更新的行。根据所使用的WHERE子句的形式,有两种更新形式:一种是搜索更新指定搜索条件来限定要删除的行;另一种是定位更新

38、使用CURRENTOF子句指定游标,更新操作发生在游标的当前位置。8/5/2024121JSP发送执行更新语句vStatement类提供的executeUpdate()方法执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句。vINSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate()的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate()的返回值总为零。vexecuteUpdate()方法和执行SELECT声明的e

39、xecuteQuery()方法相似,但是它不返回一个ResultSet,而是返回受到INSERT、UPDATE、或者DELETE操作影响的行数。8/5/2024122v将stu_info表中姓名为“张江伟”的同学性别改为“M”。Statementstmt=con.createStatement();stmt.excuteUpdate(“UPDATEstu_infoSETsex=男WHEREname=张江伟”);stmt.close();或者Stringsql=“UPDATEstu_infoSETsex=MWHEREname=张江伟”;stmt.excuteUpdate(sql);stmt.cl

40、ose();8/5/2024123添加记录vSQL的插入语句v发送执行插入语句8/5/2024124SQL的插入语句v在SQL语言中,使用INSERT语句将新行添加到表或视图中。INSERT语句的语法格式为:INSERTINTOtable_namecolumn_listVALUES(DEFAULT|NULL|expression,.n)table_name:指定将要插入数据的表或table变量的名称。column_list:要在其中插入数据的一列或多列的列表。必须用圆括号将column_list括起来,并且用逗号进行分隔。VALUES(DEFAULT|NULL|expression,.n):引

41、入要插入的数据值的列表。对于column_list(如果已指定)中或者表中的每个列,都必须有一个数据值,且必须用圆括号将值列表括起来。如VALUES列表中的值与表中列的顺序不相同,或者未包含表中所有列的值,那么必须使用column_list明确地指定存储每个传入值的列。例:INSERTINTOstu_info(id,name,sex,age,weight)VALUES(16,马欢,M,26,70)8/5/2024125发送执行插入语句vJSP中,和更新记录一样,可以使用executeUpdate()方法来发送执行插入语句。8/5/2024126v例:Statementstmt=con.crea

42、teStatement();Stringsql=“INSERTINTOstu_info(id,name,sex,age,weightVALUES(16,马欢,M,26,70)”;stmt.excuteUpdate(sql);stmt.close();8/5/2024127删除记录vSQL的删除语句vJSP发送执行删除语句8/5/2024128SQL的删除语句v在SQL语言中,使用DELETE语句删除数据表中的行。DELETE语句的语法格式为:DELETEFROMtable_nameWHEREsearch_conditiontable_name:用来指定从中删除记录的表的名称。WHERE:用来指

43、定用于限制删除行数的条件。如果没有提供WHERE子句,则DELETE删除表中的所有行。v例如,要从stu_info表中删除学号为“4”的学生的记录,则SQL语句为:DELETEFROMstu_infoWHEREid=48/5/2024129JSP发送执行删除语句vJSP中,删除语句的发送和执行也是通过executeUpdate()方法来实现的,其实现方法和更新语句、插入语句相同。例如实现从stu_info表中删除学号为“4”的学生的记录的JSP代码为:Statementstmt=conn.createStatement();Stringsql=DELETEFROMstu_infoWHEREid

44、=4stmt.executeUpdate(sql);stmt.close();8/5/20241304. 应用实例应用实例v更新数据库实例。本例使用SQLServer2008数据库,数据库、表以及表中记录参考图6-10和图6-11。程序有一个添加学生信息页面(input.jsp),如图6-47所示。v在图6-47中输入信息。点击“提交”后请求提交到inputcheck.jsp页面处理数据,inputCheck.jsp页面中实现了对数据的添加、更改和删除操作。运行效果如图6-48所示。8/5/20241318/5/20241328/5/2024133【例6-9】添加学生信息页面(inputche

45、ck.jsp)1.2.3.4.5.JSP中更新数据库6.7.8.9.10.11.输入要添加学生的信息12.8/5/20241341. 2. 3. 学号学号4. 5. 6. 7. 姓名姓名8. 9. 10. 11. 性别性别12. 13. 14. 15. 年龄年龄16. 17. 18. 19. 体重体重20. 21. 8/5/20241351.2.3.4.    5.6.7.8.9.10.11.12.13.8/5/2024136【例6-10】处理数据页面(inputCheck.jsp)1.2.3.4.5.6.数据更新后的页面7.8.9.10.已添加学生信息

46、11.8/5/20241371.8/5/20241391. 已更改学生信息已更改学生信息2. 3. 8/5/20241401.已删除学生信息2.3.8/5/20241411.经过以上操作后,数据库中有以下记录2.3.4.5.学号6.姓名7.性别8.年龄9.体重10.8/5/20241421.8/5/20241431.2.3.4.5.6.7.8.14.15.16.17.18.8/5/20241448/5/2024145第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)

47、及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/20241466.6JSP在数据库应用中的相关问题6.6.1JSP的分页技术及其应用实例6.6.2汉字处理8/5/20241476.6.1JSP的分页技术及其应用实例v在实际应用中,如果从数据库中查询得到的记录特别多,甚至超过了显示器屏幕范围,这时可将结果分页显示。本例使用的数据库以及表是上一节使用的student数据库和info表。v假设总记录数为intRowCount,每页显示记录的数量为intPageSize,总页数为intPageCount,那么总页数的计算公式为:v如果(in

48、tRowCount%intPageSize)0,则intPageCount=intRowCount/intPageSize+1。v如果(intRowCount%intPageSize)=0,则intPageCount=intRowCount/intPageSize。v翻页后显示第intPage页的内容,将记录指针移动到(intPage-1)*intPageSize+1。8/5/20241488/5/2024149【例例6-11】分页显示实例(分页显示实例(pageBreak.jsp)1.2.3.4. 5. 6. 分页浏览记录分页浏览记录7. 8. 9. 10. 分页显示记录内容分页显示记录内容

49、11. 12. 13. 14. 学号学号15. 姓名姓名v 性别性别1. 年龄年龄2. 体重体重 3. 8/5/20241501.%2.Class.forName(.microsoft.sqlserver.jdbc.SQLServerDriver);4.Stringurl=jdbc:sqlserver:/localhost:1433;databasename=5.student;6.Stringuser=sa;7.Stringpassword=root;8.Connectionconn=9.DriverManager.getConnection(url,user,password);10.in

50、tintPageSize;/一页显示的记录数11.intintRowCount;/记录总数12.intintPageCount;/总页数13.intintPage;/待显示页码14.StringstrPage;15.inti;16.intPageSize=2;/设置一页显示的记录数17.strPage=request.getParameter(page);/取得待显示页码8/5/20241511. if(strPage=null)2. /*表明在表明在QueryString中没有中没有page这一个参数,此时显示第这一个参数,此时显示第一页数据一页数据*/3. intPage = 1;4. e

51、lse5. /将字符串转换成整型将字符串转换成整型6. intPage = java.lang.Integer.parseInt(strPage);7. if(intPageintPageCount)4./调整待显示的页码调整待显示的页码5. intPage = intPageCount;6. if(intPageCount0)7. rs.absolute(intPage-1)*intPageSize + 1); 8. /将记录指针定位到待显示页的第一条记录上将记录指针定位到待显示页的第一条记录上9. /显示数据显示数据10. i=0;11. while(i8/5/20241531. 2. 3

52、. 4. 5. 6. 7. 8. 14. 8/5/20241541. 2. 3. 第第页页 共共页页4. %5. if(intPage7. a href= pageBreak.jsp?page=下一页下一页8. 1)%11. a href= pageBreak.jsp?page=上一页上一页12. 18. 19. 20. 21.8/5/20241558/5/20241566.6JSP在数据库应用中的相关问题6.6.1JSP的分页技术及其应用实例6.6.2汉字处理8/5/2024157v在JSP访问数据库时,一般不需要特别的汉字处理。但如果执行带参数的SQL语句,并且参数是由用户指定,则需要处理

53、由客户端传递过来的汉字字符类型参数,这时需要先进行汉字处理,才能加载到SQL语句中,具体代码如下:8/5/2024158vStringname=request.getParameter(“name”);vByteb=name.getBytes(“ISO-8859-1”);vname=newString(b,UTF-8);v或者vStringname=newString(request.getParameter(name).getBytes(ISO-8859-1),UTF-8);vStringcondition=insertintostudentvalues(+name+)8/5/2024159

54、第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数据库6.3通过JDBC驱动访问数据库6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例6.6JSP在数据库应用中的相关问题6.7学生信息管理系统应用实例6.8常见问题及解决方案8/5/20241606.7学生信息管理系统应用实例6.7.1学生信息管理系统主页面功能的实现6.7.2学生信息查询功能的实现6.7.3学生信息添加功能的实现6.7.4学生信息删除功能的实现6.7.5学生信息修改功能的实现8/5/2024161v本节介绍一个综合应用实例,说明如何对数据库进行操作。本实例用到的数据库及

55、其表与6.6节一样。v本实例有一个学生信息管理系统主页面(stuAdmin.jsp),该页面提供对学生信息的基本操作。主页面提供学生信息查询、学生信息添加、学生信息删除和学生信息修改功能,页面都存放在studentManage文件夹中。主页面如图6-50所示。8/5/20241628/5/20241638/5/20241648/5/20241658/5/20241668/5/20241678/5/20241688/5/20241698/5/20241708/5/2024171总结与回顾!8/5/2024172第6章JSP中基本数据库操作6.1JDBC基础知识6.2通过JDBC-ODBC桥访问数

56、据库6.2.1通过桥访问Access及其应用实例6.2.2通过桥访问Excel及其应用实例6.2.3通过桥访问MicrosoftSQLServer2008及其应用实例6.3通过JDBC驱动访问数据库6.3.1访问MySQL数据库及其应用实例6.3.2访问MicrosoftSQLServer2000数据库及其应用实例6.3.3访问MicrosoftSQLServer2008数据库及其应用实例6.4查询数据库及其应用实例6.5更新数据库(增、删、改)及其应用实例8/5/20241736.6JSP在数据库应用中的相关问题6.6.1JSP的分页技术及其应用实例6.6.2汉字处理6.7学生信息管理系统应用实例6.7.1学生信息管理系统主页面功能的实现6.7.2学生信息查询功能的实现6.7.3学生信息添加功能的实现6.7.4学生信息删除功能的实现6.7.5学生信息修改功能的实现6.8常见问题及解决方案8/5/2024174请复习已学知识!预习后面章节的内容并完成第7章项目的部分功能!8/5/2024175

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号