欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第6章-JSP数据库应用开发.ppt

    • 资源ID:85138228       资源大小:1.10MB        全文页数:67页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章-JSP数据库应用开发.ppt

    从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 第第6 6章章 JSPJSP中使用数据库中使用数据库 编编程程1从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 主要内容主要内容6.1 SQL Server 2000数据库管理系统数据库管理系统6.2 JDBC6.3 连接数据库的常用方式连接数据库的常用方式6.4 查询记录查询记录6.5 更新记录更新记录6.6 添加记录添加记录6.7 删除记录删除记录6.8 常见数据库连接常见数据库连接6.9 查询查询Execl电子表格电子表格6.10 网上投票网上投票2从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 数据库应用程序设计的过程数据库应用程序设计的过程数据库应用程序设计的过程可以分为数据库应用程序设计的过程可以分为7个步个步骤:骤:1.创建数据库创建数据库2.选配数据源选配数据源3.加载数据库驱动程序加载数据库驱动程序4.创建连接对象创建连接对象5.创建声明对象创建声明对象6.执行操作执行操作7.结果处理结果处理3从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 一、一、JDBC 简介简介 在在Java的函数库中,有一组专门处理与数据库有关的的函数库中,有一组专门处理与数据库有关的API:JDBC(Java DataBase Connection)。JDBC目前的版本为目前的版本为4.0版,其主要的目的,一方面让使用版,其主要的目的,一方面让使用Java的程序设计师,提供单一的数据访问方式,使得的程序设计师,提供单一的数据访问方式,使得Java的程的程序设计师,利用这组序设计师,利用这组API,可以有效地访问任何形式的数据,可以有效地访问任何形式的数据,从关系型数据库、工作表到一般的文本文件。另一方面,从关系型数据库、工作表到一般的文本文件。另一方面,JDBC使得不同的数据库供应厂商,实现相同的数据访问方式,使得不同的数据库供应厂商,实现相同的数据访问方式,使不同的数据来源有相同的访问方式。使不同的数据来源有相同的访问方式。4从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 实际上,实际上,JDBC这组这组API只是提供一组接口只是提供一组接口(Interface),让,让程序设计人员及数据库供应商遵循相同的方式来做数据访问。程序设计人员及数据库供应商遵循相同的方式来做数据访问。另外,程序设计人员只要知道如何使用另外,程序设计人员只要知道如何使用JDBC就可以进行数据就可以进行数据访问及数据库连接,并不需要知道数据库供应商如何实现数据访问及数据库连接,并不需要知道数据库供应商如何实现数据访问及数据库连接,数据库供应商也可以根据访问及数据库连接,数据库供应商也可以根据JDBC专心于实专心于实现的部分,不用担心客户端的部分。现的部分,不用担心客户端的部分。5从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 二、环境设置二、环境设置 在创建数据库连接之前,我们必须找到适合的在创建数据库连接之前,我们必须找到适合的Driver,也,也就是数据库连接的驱动程序。目前就是数据库连接的驱动程序。目前JDBC根据数据库连接的方式,根据数据库连接的方式,将驱动程序分成将驱动程序分成4种类型:种类型:Type1、Type2、Type3及及Type4。驱。驱动程序大部分由数据库的厂商所提供,每一种厂商有不同类型动程序大部分由数据库的厂商所提供,每一种厂商有不同类型连接方式。连接方式。主要介绍如何使用主要介绍如何使用Type1和和Type 4的驱动程序来连接数据库。的驱动程序来连接数据库。6从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 1、Type1的的驱动程序程序 Type1的的驱动程序是通程序是通过与与ODBC的的连接来与数据接来与数据库沟通沟通(JDBC-ODBC Bridge),也就是,也就是JDBC会将所有要与数据会将所有要与数据库沟沟通的通的SQL命令通知命令通知ODBC,由,由ODBC来来负责与数据与数据库沟通。沟通。这种方式通常用在实验及测试阶段以及没有其他类型的驱动程这种方式通常用在实验及测试阶段以及没有其他类型的驱动程序可以使用时。其优缺点为:序可以使用时。其优缺点为:优点优点 由于简单的缘故,这种类型是一开始学习由于简单的缘故,这种类型是一开始学习JDBC不错的方不错的方式。另外有些公司在用户的每一台计算机上,都已经设置了式。另外有些公司在用户的每一台计算机上,都已经设置了ODBC连接,原因可能是旧有的应用程序需要依靠这些连接,原因可能是旧有的应用程序需要依靠这些ODBC设置来连接数据库,如此就可以直接使用不用再做设置。最后,设置来连接数据库,如此就可以直接使用不用再做设置。最后,有一些数据库只有有一些数据库只有ODBC连接方式,别无其他选择。连接方式,别无其他选择。7从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 缺点缺点 最大的问题还是在于要设置最大的问题还是在于要设置ODBC连接,当项目很大或者连接,当项目很大或者是用户很多时,维护的是用户很多时,维护的ODBC连接是一件麻烦又恼人的工作。连接是一件麻烦又恼人的工作。再者由于需要在再者由于需要在JDBC与与ODBC之前做数据传递及转换,许多之前做数据传递及转换,许多时间浪费在这上面,造成性能上的不良后果。最后许多功能受时间浪费在这上面,造成性能上的不良后果。最后许多功能受到到ODBC驱动程序的限制,也不完全支持驱动程序的限制,也不完全支持Java的特点。的特点。要配置要配置ODBC8从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 2、Type4驱动程序程序 Type4Direct-to-Database Pure Java Driver 此种驱动程序完全是由此种驱动程序完全是由Java所完成的,包括与数据库的各所完成的,包括与数据库的各种网络与沟通协议。由于目前种网络与沟通协议。由于目前JDBC的蓬勃发展,几乎所有的的蓬勃发展,几乎所有的数据库厂商都提供了这种类型的驱动程序,甚至有些公司专门数据库厂商都提供了这种类型的驱动程序,甚至有些公司专门在制作这种驱动程序,强调轻巧以及性能高。在制作这种驱动程序,强调轻巧以及性能高。优点优点 基本上这种类型的驱动程序是所有里面性能最好的,也能基本上这种类型的驱动程序是所有里面性能最好的,也能够完全支持够完全支持JDBC所有的特色。使用时也不必事先安装任何的函所有的特色。使用时也不必事先安装任何的函数库或者是作任何设置。是选择驱动程序时非常好的选择。数库或者是作任何设置。是选择驱动程序时非常好的选择。9从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 缺点缺点 不同的数据库需要不同的驱动程序。不同的数据库需要不同的驱动程序。要安装驱动程序:下载要安装驱动程序:下载setup.exe,安装后,在,安装后,在lib目录下有目录下有三个三个jar文件文件msbase.jar,mssqlserver.jar,msutil.jar,所需要的,所需要的类都在这三个文件中类都在这三个文件中(SQL Server 2000)或或sqljdbc_enu.exe(sqljdbc_3.0.1301.101_enu.exe)(SQL Server 2005)纯纯Java JDBC驱动程序驱动程序 纯纯Java JDBC驱动程序是独立的连接驱动程序,不需要中间服驱动程序是独立的连接驱动程序,不需要中间服务器,与数据库实现通信的整个过程均由务器,与数据库实现通信的整个过程均由Java语言语言 实现。这种方实现。这种方法目前应用较广泛,缺点是需要下载相应的类包,不同数据库的连法目前应用较广泛,缺点是需要下载相应的类包,不同数据库的连接代码可能不同。接代码可能不同。有三个类包:有三个类包:msbase.jar、mssqlserver.jar、msutil.jar或或sqljdbc4.jar。使用时要将这三个包放在。使用时要将这三个包放在 jdkjrelibext目录下,或者所放的位置设置到目录下,或者所放的位置设置到CLASSPATH中即可。中即可。10从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 三、数据库的连接三、数据库的连接 JDBC的作用概括起来有如下的作用概括起来有如下3个方面:个方面:(1)建立与数据)建立与数据库的的连接接 (2)向数据)向数据库发起起查询请求求 (3)处理数据理数据库返回返回结果果 这些作用是通过一系列这些作用是通过一系列API实现的,其中的几个重要类或接口实现的,其中的几个重要类或接口如表如表 所示。所示。接口接口作用作用java.sql.Drivermanagerjava.sql.Connectionjava.sql.Statementjava.sql.ResultSet处理驱动程序的加载和建立新数据库连接处理驱动程序的加载和建立新数据库连接处理与特定数据库的连接处理与特定数据库的连接在指定连接中处理在指定连接中处理SQL语句语句处理数据库操作结果集处理数据库操作结果集11从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 四、四、JDBC中的常用接口中的常用接口 JDBC提供了众多的接口和提供了众多的接口和类,通,通过这些接口和些接口和类,可以,可以实现与与数据数据库的通信,本的通信,本节将将详细介介绍一些常用的一些常用的JDBC接口和接口和类。1、Driver接口接口 每种数据库的驱动程序都应该提供一个实现每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口接口的类,简称的类,简称Driver类,在加载某一驱动程序的类,在加载某一驱动程序的Driver类时,它应该创类时,它应该创建自己的实例并向建自己的实例并向java.sql.DriverManager类注册该实例。类注册该实例。通常情况下通过通常情况下通过java.lang.Class类的静态方法类的静态方法forName(String className),加载欲连接数据库的,加载欲连接数据库的Driver类,该方法的入口参数为欲类,该方法的入口参数为欲加载加载Driver类的完整路径。成功加载后,会将类的完整路径。成功加载后,会将Driver类的实例注册到类的实例注册到DriverManager类中,如果加载失败,将抛出类中,如果加载失败,将抛出ClassNotFoundException异常,即未找到指定异常,即未找到指定Driver类的异常。类的异常。12从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 2、DriverManager类 java.sql.DriverManager类负责管理管理JDBC驱动程序的基程序的基本服本服务,是,是JDBC的管理的管理层,作用于用,作用于用户和和驱动程序之程序之间,负责跟踪可用的跟踪可用的驱动程序,并在数据程序,并在数据库和和驱动程序之程序之间建立建立连接;接;另外,另外,DriverManager类也也处理理诸如如驱动程序登程序登录时间限制及限制及登登录和跟踪消息的和跟踪消息的显示等工作。成功加示等工作。成功加载Driver类并在并在DriverManager类中注册后,中注册后,DriverManager类即可用来建立即可用来建立数据数据库连接。接。当调用当调用DriverManager类的类的getConnection()方法请求建立数方法请求建立数据库连接时,据库连接时,DriverManager类将试图定位一个适当的类将试图定位一个适当的Driver类,类,并检查定位到的并检查定位到的Driver类是否可以建立连接,如果可以则建立连类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出接并返回,如果不可以则抛出SQLException异常。异常。DriverManager类提供的常用静态方法如下表所示:类提供的常用静态方法如下表所示:13从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名 称称功功 能能 描描 述述getConnection(String url,String user,String password)用来获得数据库连接,用来获得数据库连接,3个入口参数依次个入口参数依次为要连接数据库的为要连接数据库的URL、用户名和密码,、用户名和密码,返回值的类型为返回值的类型为java.sql.ConnectionsetLoginTimeout(int seconds)用来设置每次等待建立数据库连接的最用来设置每次等待建立数据库连接的最长时间长时间setLogWriter(java.io.PrintWriter out)用来设置日志的输出对象用来设置日志的输出对象println(String message)用来输出指定消息到当前的用来输出指定消息到当前的JDBC日志流日志流14从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 3、Connection接口接口 java.sql.Connection接口代表与特定数据接口代表与特定数据库的的连接,在接,在连接的上下文中可以接的上下文中可以执行行SQL语句并返回句并返回结果,果,还可以通可以通过getMetaData()方法方法获得由数据得由数据库提供的相关信息,例如数据表、存提供的相关信息,例如数据表、存储过程和程和连接功能等信息。接功能等信息。Connection接口提供的常用方法如下表所示。接口提供的常用方法如下表所示。15从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名 称称功功 能能 描描 述述createStatement()创建并返回一个创建并返回一个Statement实例,通常在执行无参的实例,通常在执行无参的SQL语句时创建该实例语句时创建该实例prepareStatement()创建并返回一个创建并返回一个PreparedStatement实例,通常在执行包含参数的实例,通常在执行包含参数的SQL语句时创建该实例,语句时创建该实例,并对并对SQL语句进行了预编译处理语句进行了预编译处理prepareCall()创建并返回一个创建并返回一个CallableStatement实例,通常在调用数据库存储过程时创建该实例实例,通常在调用数据库存储过程时创建该实例setAutoCommit()设置当前设置当前Connection实例的自动提交模式。默认为实例的自动提交模式。默认为true,即自动将更改同步到数据库中;,即自动将更改同步到数据库中;如果设为如果设为false,需要通过执行,需要通过执行commit()或或rollback()方法手动将更改同步到数据库中方法手动将更改同步到数据库中getAutoCommit()查看当前的查看当前的Connection实例是否处于自动提交模式,如果是则返回实例是否处于自动提交模式,如果是则返回true,否则返回,否则返回falsesetSavepoint()在当前事务中创建并返回一个在当前事务中创建并返回一个Savepoint实例,前提条件是当前的实例,前提条件是当前的Connection实例不能处实例不能处于自动提交模式,否则将抛出异常于自动提交模式,否则将抛出异常releaseSavepoint()从当前事务中移除指定的从当前事务中移除指定的Savepoint实例实例setReadOnly()设置当前设置当前Connection实例的读取模式,默认为非只读模式。不能在事务当中执行该操作,实例的读取模式,默认为非只读模式。不能在事务当中执行该操作,否则将抛出异常。有一个否则将抛出异常。有一个boolean型的入口参数,设为型的入口参数,设为true表示开启只读模式,设为表示开启只读模式,设为false表示关闭只读模式表示关闭只读模式isReadOnly()查看当前的查看当前的Connection实例是否为只读模式,如果是则返回实例是否为只读模式,如果是则返回true,否则返回,否则返回falseisClosed()查看当前的查看当前的Connection实例是否被关闭,如果被关闭则返回实例是否被关闭,如果被关闭则返回true,否则返回,否则返回falsecommit()将从上一次提交或回滚以来进行的所有更改同步到数据库,并释放将从上一次提交或回滚以来进行的所有更改同步到数据库,并释放Connection实例当前实例当前拥有的所有数据库锁定拥有的所有数据库锁定rollback()取消当前事务中的所有更改,并释放当前取消当前事务中的所有更改,并释放当前Connection实例拥有的所有数据库锁定。该方实例拥有的所有数据库锁定。该方法只能在非自动提交模式下使用,如果在自动提交模式下执行该方法,将抛出异常。有法只能在非自动提交模式下使用,如果在自动提交模式下执行该方法,将抛出异常。有一个参数为一个参数为Savepoint实例的重载方法,用来取消实例的重载方法,用来取消Savepoint实例之后的所有更改,并释放实例之后的所有更改,并释放对应的数据库锁定对应的数据库锁定close()立即释放立即释放Connection实例占用的数据库和实例占用的数据库和JDBC资源,即关闭数据库连接资源,即关闭数据库连接16从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 4、Statement接口接口 java.sql.Statement接口用来接口用来执行静行静态的的SQL语句,并句,并返回返回执行行结果。例如,果。例如,对于于INSERT、UPDATE和和DELETE语句,句,调用用executeUpdate(String sql)方法;方法;对于于SELECT语句,句,则调用用executeQuery(String sql)方法,并返回一个永方法,并返回一个永远不能不能为null的的ResultSet实例。例。Statement接口提供的常用方法如下表所示。接口提供的常用方法如下表所示。17从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名 称称功功 能能 描描 述述executeQuery(String sql)执行指定的静态执行指定的静态SELECT语句,并返回一个永远不能为语句,并返回一个永远不能为null的的ResultSet实例实例executeUpdate(String sql)执行指定的静态执行指定的静态INSERT、UPDATE或或DELETE语句,并语句,并返回一个返回一个int型数值,此数为同步更新记录的条数型数值,此数为同步更新记录的条数clearBatch()清除位于清除位于Batch中的所有中的所有SQL语句。如果驱动程序不支持批语句。如果驱动程序不支持批量处理将抛出异常量处理将抛出异常addBatch(String sql)将指定的将指定的SQL命令添加到命令添加到Batch中。中。String型入口参数通常型入口参数通常为静态的为静态的INSERT或或UPDATE语句。如果驱动程序不支持语句。如果驱动程序不支持批量处理将抛出异常批量处理将抛出异常executeBatch()执行执行Batch中的所有中的所有SQL语句,如果全部执行成功,则返回语句,如果全部执行成功,则返回由更新计数组成的数组,数组元素的排序与由更新计数组成的数组,数组元素的排序与SQL语句的添语句的添加顺序对应。数组元素有以下几种情况:加顺序对应。数组元素有以下几种情况:大于或等于零的数:说明:大于或等于零的数:说明SQL语句执行成功,此数为语句执行成功,此数为影响数据库中行数的更新计数;影响数据库中行数的更新计数;:说明:说明SQL语句执行成功,但未得到受影响的行数语句执行成功,但未得到受影响的行数:说明:说明SQL语句执行失败,仅当执行失败后继续执行后语句执行失败,仅当执行失败后继续执行后面的面的SQL语句时出现。如果驱动程序不支持批量、或者未语句时出现。如果驱动程序不支持批量、或者未能成功执行能成功执行Batch中的中的SQL语句之一,将抛出异常语句之一,将抛出异常close()立即释放立即释放Statement实例占用的数据库和实例占用的数据库和JDBC资源资源18从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 5、ResultSet接口接口 java.sql.ResultSet接口接口类似于一个数据表,通似于一个数据表,通过该接口的接口的实例可以例可以获得得检索索结果集,以及果集,以及对应数据表的相关信息,例如列数据表的相关信息,例如列名和名和类型等,型等,ResultSet实例通例通过执行行查询数据数据库的的语句生成。句生成。ResultSet实例具有指向当前数据行的指例具有指向当前数据行的指针,最初,指,最初,指针指指向第一行向第一行记录,通,通过next()方法可以将指方法可以将指针移移动到下一行,如果到下一行,如果存在下一行存在下一行该方法方法则返回返回true,否,否则返回返回false,所以可以通,所以可以通过while循循环来迭代来迭代ResultSet结果集。默果集。默认情况下情况下ResultSet实例不例不可以更新,只能移可以更新,只能移动指指针,所以只能迭代一次,并且只能按从,所以只能迭代一次,并且只能按从前向后的前向后的顺序。如果需要,可以生成可序。如果需要,可以生成可滚动和可更新的和可更新的ResultSet实例。例。19从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 ResultSet接口提供了从当前行接口提供了从当前行检索不同索不同类型列型列值的的getXxx()方法,均有两个重方法,均有两个重载方法,分方法,分别根据列的索引根据列的索引编号和列的名称号和列的名称检索列索列值,其中以列的索引,其中以列的索引编号号较为高效,高效,编号从号从1开始。开始。对于于不同的不同的getXxx()方法,方法,JDBC驱动程序程序尝试将基将基础数据数据转换为与与getXxx()方法相方法相应的的Java类型并返回。型并返回。在在JDBC 2.0 API之后,为该接口添加了一组更新方法之后,为该接口添加了一组更新方法updateXxx(),均有两个重载方法,分别根据列的索引编号和列的名称指定,均有两个重载方法,分别根据列的索引编号和列的名称指定列。可以用来更新当前行的指定列,也可以用来初始化要插入列。可以用来更新当前行的指定列,也可以用来初始化要插入行的指定列,但是该方法并未将操作同步到数据库,需要执行行的指定列,但是该方法并未将操作同步到数据库,需要执行updateRow()或或insertRow()方法完成同步操作。方法完成同步操作。ResultSet接口提供的常用方法如下表所示接口提供的常用方法如下表所示20从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名 称称功功 能能 描描 述述first()移动指针到第一行。如果结果集为空则返回移动指针到第一行。如果结果集为空则返回false,否则返回,否则返回true。如果结果集类型为。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常last()移动指针到最后一行。如果结果集为空则返回移动指针到最后一行。如果结果集为空则返回false,否则返回,否则返回true。如果结果集类型为。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常previous()移动指针到上一行。如果存在上一行则返回移动指针到上一行。如果存在上一行则返回true,否则返回,否则返回false。如果结果集类型为。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常next()移动指针到下一行。指针最初位于第一行之前,第一次调用该方法将移动到第一行。如果存在下一行则返回移动指针到下一行。指针最初位于第一行之前,第一次调用该方法将移动到第一行。如果存在下一行则返回true,否则返回,否则返回falsebeforeFirst()移动指针到移动指针到ResultSet实例的开头,即第一行之前。如果结果集类型为实例的开头,即第一行之前。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常afterLast()移动指针到移动指针到ResultSet实例的末尾,即最后一行之后。如果结果集类型为实例的末尾,即最后一行之后。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常absolute()移动指针到指定行。有一个移动指针到指定行。有一个int型参数,正数表示从前向后编号,负数表示从后向前编号,编号均从型参数,正数表示从前向后编号,负数表示从后向前编号,编号均从1开始。如果开始。如果存在指定行则返回存在指定行则返回true,否则返回,否则返回false。如果结果集类型为。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常relative()移动指针到相对于当前行的指定行。有一个移动指针到相对于当前行的指定行。有一个int型入口参数,正数表示向后移动,负数表示向前移动,视当前行型入口参数,正数表示向后移动,负数表示向前移动,视当前行为为0。如果存在指定行则返回。如果存在指定行则返回true,否则返回,否则返回false。如果结果集类型为。如果结果集类型为TYPE_FORWARD_ONLY将抛出异常将抛出异常getRow()查看当前行的索引编号。索引编号从查看当前行的索引编号。索引编号从1开始,如果位于有效记录行上则返回一个开始,如果位于有效记录行上则返回一个int型索引编号,否则返回型索引编号,否则返回0findColumn()查看指定列名的索引编号。该方法有一个查看指定列名的索引编号。该方法有一个String型参数,为要查看列的名称,如果包含指定列,则返回型参数,为要查看列的名称,如果包含指定列,则返回int型索型索引编号,否则将抛出异常引编号,否则将抛出异常isBeforeFirst()查看指针是否位于查看指针是否位于ResultSet实例的开头,即第一行之前。如果是则返回实例的开头,即第一行之前。如果是则返回true,否则返回,否则返回falseisAfterLast()查看指针是否位于查看指针是否位于ResultSet实例的末尾,即最后一行之后。如果是则返回实例的末尾,即最后一行之后。如果是则返回true,否则返回,否则返回falseisFirst()查看指针是否位于查看指针是否位于ResultSet实例的第一行。如果是则返回实例的第一行。如果是则返回true,否则返回,否则返回falseisLast()查看指针是否位于查看指针是否位于ResultSet实例的最后一行。如果是则返回实例的最后一行。如果是则返回true,否则返回,否则返回falseclose()立即释放立即释放ResultSet实例占用的数据库和实例占用的数据库和JDBC资源,当关闭所属的资源,当关闭所属的Statement实例时也将执行此操作实例时也将执行此操作21从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 getInt()以以int型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值0getLong()以以long型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值0getFloat()以以float型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值0getDouble()以以double型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值0getString()以以String型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值nullgetBoolean()以以boolean型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回,则返回值值falsegetDate()以以java.sql.Date型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则,则返回值返回值nullgetObject()以以Object型获取指定列对应型获取指定列对应SQL类型的值。如果列值为类型的值。如果列值为NULL,则返回值,则返回值nullgetMetaData()获取获取ResultSet实例的相关信息,并返回实例的相关信息,并返回ResultSetMetaData类型的实例。类型的实例。updateNull()将指定列更改为将指定列更改为NULL。用于插入和更新,但并不会同步到数据库,需要。用于插入和更新,但并不会同步到数据库,需要执行执行updateRow()或或insertRow()方法完成同步方法完成同步updateInt()更改更改SQL类型对应类型对应int型的指定列。用于插入和更新,但并不会同步到数型的指定列。用于插入和更新,但并不会同步到数据库,需要执行据库,需要执行updateRow()或或insertRow()方法完成同步方法完成同步updateLong()更改更改SQL类型对应类型对应long型的指定列。用于插入和更新,但并不会同步到数型的指定列。用于插入和更新,但并不会同步到数据库,需要执行据库,需要执行updateRow()或或insertRow()方法完成同步方法完成同步updateFloat()更改更改SQL类型对应类型对应float型的指定列。用于插入和更新,但并不会同步到数型的指定列。用于插入和更新,但并不会同步到数据库,需要执行据库,需要执行updateRow()或或insertRow()方法完成同步方法完成同步22从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 updateDouble()更改更改SQL类型对应类型对应double型的指定列。用于插入和更新,但并不会同步到数据库,需型的指定列。用于插入和更新,但并不会同步到数据库,需要执行要执行updateRow()或或insertRow()方法完成同步方法完成同步updateString()更改更改SQL类型对应类型对应String型的指定列。用于插入和更新,但并不会同步到数据库,需型的指定列。用于插入和更新,但并不会同步到数据库,需要执行要执行updateRow()或或insertRow()方法完成同步方法完成同步updateBoolean()更改更改SQL类型对应类型对应boolean型的指定列。用于插入和更新,但并不会同步到数据库,需型的指定列。用于插入和更新,但并不会同步到数据库,需要执行要执行updateRow()或或insertRow()方法完成同步方法完成同步updateDate()更改更改SQL类型对应类型对应Date型的指定列。用于插入和更新,但并不会同步到数据库,需要型的指定列。用于插入和更新,但并不会同步到数据库,需要执行执行updateRow()或或insertRow()方法完成同步方法完成同步updateObject()可更改所有可更改所有SQL类型的指定列。用于插入和更新,但并不会同步到数据库,需要执行类型的指定列。用于插入和更新,但并不会同步到数据库,需要执行updateRow()或或insertRow()方法完成同步方法完成同步moveToInsertRow()移动指针到插入行,并记住当前行的位置。插入行实际上是一个缓冲区,在插入行可移动指针到插入行,并记住当前行的位置。插入行实际上是一个缓冲区,在插入行可以插入记录,此时,仅能调用更新方法和以插入记录,此时,仅能调用更新方法和insertRow()方法,通过更新方法为指定列赋方法,通过更新方法为指定列赋值,通过值,通过insertRow()方法同步到数据库,在调用方法同步到数据库,在调用insertRow()方法之前,必须为不允许方法之前,必须为不允许为空的列赋值为空的列赋值moveToCurrentRow()移动指针到记住的位置,即调用移动指针到记住的位置,即调用moveToInsertRow()方法之前所在的行方法之前所在的行insertRow()将插入行的内容同步到数据库。如果指针不在插入行上,或者有不允许为空的列的值将插入行的内容同步到数据库。如果指针不在插入行上,或者有不允许为空的列的值为空,将抛出异常为空,将抛出异常updateRow()将当前行的更新内容同步到数据库。更新当前行的列值后,必须调用该方法,否则不将当前行的更新内容同步到数据库。更新当前行的列值后,必须调用该方法,否则不会将更新内容同步到数据库会将更新内容同步到数据库deleteRow()删除当前行。执行该方法后,并不会立即同步到数据库,而是在执行删除当前行。执行该方法后,并不会立即同步到数据库,而是在执行close()方法后才方法后才同步到数据库同步到数据库23从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 以下例子以下例子2是一个简单的是一个简单的JSP页面,该页面中的页面,该页面中的Java程程序片代码负责加载序片代码负责加载SQL Server 2000的的Java驱动程序,并连驱动程序,并连接到数据库接到数据库Warehouse,查询,查询product表中表中price字段值大于字段值大于5000的全部记录。例子的全部记录。例子2和例子和例子1的不同之处仅仅是数据库连的不同之处仅仅是数据库连接方式,其他代码完全相同。接方式,其他代码完全相同。Example6_2.jsp24从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 6.4 查询记录对一个数据库中表进行查询操作的具体步骤如下。对一个数据库中表进行查询操作的具体步骤如下。(1)向数据库发送向数据库发送SQL查询语句查询语句 首先使用首先使用Statement声明一个声明一个SQL语句对象,然后让已创语句对象,然后让已创建的连接对象建的连接对象con调用方法调用方法createStatment()创建这个创建这个SQL语句语句对象,代码如下:对象,代码如下:try Statement sql=con.createStatement();catch(SQLException e)25从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 (2)处理理查询结果果 有了有了SQL语句对象后,这个对象就可以调用相应的方法实语句对象后,这个对象就可以调用相应的方法实现对数据库中表的查询和修改,并将查询结果存放在一个现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中。也就是说类声明的对象中。也就是说SQL查询语句对数据库的查询语句对数据库的查询操作将返回一个查询操作将返回一个ResultSet对象,对象,ResultSet对象是以统一形对象是以统一形式的列组织的数据行组成。例如,对于式的列组织的数据行组成。例如,对于 ResultSet rs=sql.executeQuery(select*from product);26从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 内存的结果集对象内存的结果集对象rs的列数是的列数是4列,刚好和列,刚好和product的列数相同,的列数相同,第第1列至第列至第4列分别是列分别是number、name、madeTime和和price列;而对于列;而对于 ResultSet rs=sql.executeQuery(select name,price from produ

    注意事项

    本文(第6章-JSP数据库应用开发.ppt)为本站会员(gsy****95)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开