Oracle11g教程第12章数据库应用程序开发.ppt_第1页
Oracle11g教程第12章数据库应用程序开发.ppt_第2页
Oracle11g教程第12章数据库应用程序开发.ppt_第3页
Oracle11g教程第12章数据库应用程序开发.ppt_第4页
Oracle11g教程第12章数据库应用程序开发.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章 数据库应用程序开发,主编:刘志成,本章学习导航,本章学习导航,本章学习要点,(1)C/S结构和B/S结构; (2)常用的数据库访问技术; (3)使用JDBC-ODBC桥访问Oracle 11g数据库; (4)使用JDBC Driver访问Oracle 11g数据库; (5)C#.NET中使用ODBC方式访问Oracle 11g数据库; (6)C#.NET中使用OLE DB方式访问Oracle 11g数据库; (7)C#.NET中使用OracleClient方式访问Oracle 11g数据库。 建议课时:8课时,12.1 数据库应用程序结构,概述,数据库应用程序是指任何可以添加、查看、

2、修改和删除特定数据库(如Oracle中的eBuy)中数据的应用程序。 数据库应用程序一般包括三大组成部分: 一是为应用程序提供数据的后台数据库; 二是实现与用户交互的前台界面; 三是实现具体业务逻辑的组件。 具体来说,数据库应用程序的结构可依其数据处理及存取方式分为主机-多终端结构、文件型结构、C/S(客户机/服务器)结构、B/S(浏览器/服务器)结构以及3层/多层结构等。,12.1 数据库应用程序结构,客户机/服务器结构,客户机/服务器结构的出现是为了解决费用和性能的矛盾,最简单的C/S结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。 (1)伸缩性差。 (2)性能较差。 (3

3、)重用性差。 (4)移植性差。,12.1 数据库应用程序结构,浏览器/服务器结构,浏览器/服务器结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。 在B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。 基于B/S结构的软件的系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行程序的全部功能,真正实现“零客户端”。 B/S结构还提供了异种机、异种网和异种应用服务的开放性基础,这种结构已成为当今应用软件的首选体系结构。,12.1 数据库应用程序结构,C/S VS B/S,1支撑环境 C

4、/S结构一般建立在专用的小范围内的局域网络环境,局域网之间通过专门服务器提供连接和数据交换服务;B/S结构建立在广域网之上的。 2安全控制 C/S结构一般面向相对固定的用户群,对信息安全的控制能力很强。B/S 结构建立在广域网之上,面向不可知的用户群,对安全的控制能力较弱 。 3程序架构 C/S 结构可以对权限进行多层次校验,对系统运行速度较少考虑;B/S结构对安全以及访问速度的多重的考虑建立在需要更加优化的基础之上,比C/S结构有更高的要求,B/S结构的程序架构是发展的趋势。,12.1 数据库应用程序结构,C/S VS B/S,4可重用性 C/S结构侧重于程序的整体性,程序模块的重用性不是很

5、好;B/S结构一般采用多层架构,使用相对独立的中间件实现相对独立的功能,能够很好地实现重用。 5可维护性 C/S结构处理出现的问题以及系统升级都比较难,一旦升级可能要求开发一个全新的系统;B/S程序由组件组成,通过更换个别的组件,可以实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6用户界面 C/S 结构大多是建立的Window平台上,表现方法有限,对程序员普遍要求较高;B/S结构建立在浏览器上,有更加丰富、生动的表现方式与用户交流,开发难度降低,开发成本下降。,12.1 数据库应用程序结构,3层/N层结构,(1)用户界面层:实现用户界面,并保证用户界面的友好

6、性、统一性。 (2)业务逻辑层:实现数据库的存取及应用程序的商业逻辑计算。 (3)数据服务层:实现数据定义、存储、备份和检索等功能,主要由数据库系统实现。,课堂案例1Java平台Oracle数据库程序开发,学习使用ODBC-JDBC桥访问Oracle数据库、使用JDBC驱动程序直接访问Oracle数据库、在Java程序中调用Oracle数据库中存储过程的方法和一般步骤 。,案例学习目标,ODBC数据源的配置、部署ojdbc6_g.jar包、连接Oracle数据库、访问Oracle数据库、处理Oracle数据库数据、编写存储过程、编写Java程序、Java程序调用存储过程 。,案例知识要点,课堂

7、案例1Java平台Oracle数据库程序开发,JDBC概述,添加标题文字,JDBC(Java Database Connection)作为一种中间件,可以实现Java应用程序与数据库之间的接口功能。Sun Microsystems公司已将JDBC作为JDK的一部分,包括这些JDBC API,使Java应用与数据库通信。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,1注册数据库驱动程序 (1)JDBC-ODBC桥接方式。Java应用程序访问Oracle数据库,我们可以通过配置数据源的方法来实现,即ODBC方式。配置Oracle数据源后,应用程序再使

8、用JDBC提供的编程接口,通过数据源名称访问指定类型的数据库。JDBC使用驱动器管理器管理各种数据库驱动程序,应用程序使用统一的方式访问数据库。 (2)JDBC直接连接方式。即使用JDBC直接连接数据源的方法 。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,2获得数据库连接 (1)JDBC-ODBC桥接方式。 String url=jdbc:odbc:MyData; String user=SCOTT; String password=123456; Connection conn=DriverManager.getConnection(url,

9、user,password); (2)JDBC直接连接方式。 conn=DriverManager.getConnection(jdbc:oracle:thin:SD04:1521:EBUY,SCOTT,123456); 其中,SD04表示服务器名称,也可以使用IP地址代替,如;EBUY表示Oracle全局数据库名称;1521表示相应的连接端口。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,3发送和执行SQL语句 (1)Statement接口。 Statementstat= conn.createStatement(Result

10、Set.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); (2)PreparedStatement接口。 PreparedStatement接口用于实现发送带参数的预编译SQL语句到数据库并返回执行结果的功能,预编译意味着这些语句可以比单个语句更有效地执行,尤其是在循环中重复执行某条语句时。 (3)CallableStatement接口。 CallableStatement接口用于实现调用数据库存储过程的功能。使用CallableStatement接口既支持直接存储过程调用,也支持带占位符的存储过程调用。,教师演示讲解,课堂案例1Java

11、平台Oracle数据库程序开发,案例完成步骤,添加标题文字,4ODBC-JDBC桥访问实例 【例12-1】 使用ODBC方式查询Oracle数据库,并显示用户方案SCOTT中商品表GOODS的信息。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,4ODBC-JDBC桥访问实例 【例12-1】 使用ODBC方式查询Oracle数据库,并显示用户方案SCOTT中商品表GOODS的信息。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,基本步骤: (1)使用“import java.sql.*;”引入JDBC

12、API所在的包。 (2)注册Oracle数据库驱动程序: Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); (3)获得和Oracle数据库的连接: Connection conn=DriverManager.getConnection(jdbc:odbc:MyData,SCOTT,123456); (4)发送SQL请求: Statement stat=conn.createStatement(); ResultSet rs=stat.executeQuery(sQuery); (5)操作结果集对象。 (6)关闭相关对象。,教师演示讲解,课堂案例1Java

13、平台Oracle数据库程序开发,案例完成步骤,添加标题文字,5JDBC直接访问实例 【例12-2】 使用JDBC方式查询Oracle数据库,并显示用户方案SCOTT的商品表GOODS中商品类别编号为“02”的商品信息。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,5JDBC直接访问实例 【例12-2】 使用JDBC方式查询Oracle数据库,并显示用户方案SCOTT的商品表GOODS中商品类别编号为“02”的商品信息。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,6Java程序调用Oracle存储过

14、程 【例12-3】 编写Java程序,调用Oracle数据库中的存储过程up_GetByID,实现根据商品的编号获得商品的名称和类别编号。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,6Java程序调用Oracle存储过程 【例12-3】 编写Java程序,调用Oracle数据库中的存储过程up_GetByID,实现根据商品的编号获得商品的名称和类别编号。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,学习使用.NET平台连接Oracle数据库、访问Oracle数据库、处理Oracle数据库数据的方法 。,案例学习目标,Data

15、GridView控件绑定连接Oracle数据库、ODBC方式访问Oracle数据库、OLE DB方式访问Oracle数据库、OracleClient方式访问Oracle数据库、.NET平台调用Oracle存储过程 。,案例知识要点,课堂案例2.NET平台Oracle数据库程序开发,ADO.NET概述,添加标题文字,ADO.NET 提供对 Microsoft SQL Server等数据源以及通过 OLE DB和XML公开的数据源的一致访问。 ADO.NET是重要的应用程序接口,用于在 Microsoft .NET平台中提供数据访问服务。 ADO.NET中,可以使用的数据提供程序主要包括以下几种。

16、 (1)SQL Server .NET Framework数据提供程序; (2)OLE DB .NET Framework数据提供程序; (3)ODBC .NET Framework数据提供程序; (4)Oracle .NET Framework数据提供程序。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,ADO.NET结构,添加标题文字,教师演示讲解,ADO.NET针对Oracle也特别推出了以Oracle为前缀的系列类,用户需要在项目中引入System.Data.OracleClient.dll引用,并使用添加名称空间命令: using System.Data.Oracl

17、eClient;,课堂案例2.NET平台Oracle数据库程序开发,数据连接类,添加标题文字,教师演示讲解,(1)构造连接类对象。构造连接类对象的格式为: OleDbConnection conn = new OleDbConnection(连接字符串); OracleConnection conn = new OracleConnection(连接字符串); OdbcConnection conn = new OdbcConnection(连接字符串); 使用OLE DB方式访问Oracle数据库的连接字符串形如: Provider=OraOLEDB.Oracle;Data Source=E

18、BUY;User ID=SCOTT;Password=123456 使用OracleClient方式访问Oracle数据库的连接字符串形如: Data Source=EBUY;User ID=SCOTT;Password=123456 使用ODBC方式访问Oracle数据库的连接字符串形如: DSN=MyData;UID=SCOTT;PWD=123456,课堂案例2.NET平台Oracle数据库程序开发,数据连接类,添加标题文字,教师演示讲解,(2)连接类的常用方法 显式调用Open()方法打开连接,调用格式为: conn.Open(); 对数据库访问完毕后,需要显式调用Close()方法及时

19、关闭数据库连接,调用格式为: conn.Close(); 但也有一个例外,当使用数据适配器类的Fill()方法或Update()方法操作数据库时,不需要显式调用Open()方法打开连接,ADO.NET会自动打开连接,操作完成后会自动关闭连接。 (3)State属性。连接类的State属性标识连接对象的当前连接状态,当值为Open时,表示连接已经打开;当值为Closed时,表示连接已经关闭。可以通过对State属性的判别来识别当前的连接状态。,课堂案例2.NET平台Oracle数据库程序开发,命令类,添加标题文字,教师演示讲解,(1)构造命令类对象。构造命令类对象的格式如下: OleDbComm

20、and comm = new OleDbCommand(命令文本,连接对象); OracleCommand comm = new OracleCommand(命令文本,连接对象); OdbcCommand comm = new OdbcCommand(命令文本,连接对象); (2)命令类的常用方法。 OleDbDataReader dr = comm.ExecuteReader(); OracleDataReader dr = comm.ExecuteReader(); OdbcDataReader dr = comm.ExecuteReader(); int rows = comm.Exec

21、uteNonQuery();,课堂案例2.NET平台Oracle数据库程序开发,命令类,添加标题文字,教师演示讲解,(3)Parameters属性。 方式一: comm.Parameters.Add(参数名称,数据类型,长度).Value = 值; 方式二: OleDbParameter param = new OleDbParameter(参数名称,数据类型,长度); / 或OracleParameter param = new OracleParameter (参数名称,数据类型,长度); / 或OdbcParameter param = new OdbcParameter (参数名称,数

22、据类型,长度); comm.Parameters.Add(param);,课堂案例2.NET平台Oracle数据库程序开发,数据读取器类,添加标题文字,教师演示讲解,(1)填充数据行。数据读取器类用于从数据源中读取只进且只读的数据流。所有数据读取器类对象的基类均为 DbDataReader 类。填充数据读取器对象的格式如下所示: OleDbDataReader dr = comm.ExecuteReader(); OracleDataReader dr = comm.ExecuteReader(); OdbcDataReader dr = comm.ExecuteReader(); (2)数据

23、读取器类的常用方法。数据读取器类的Read()方法使数据指针向前移动一条记录,返回类型为bool,如果返回值为false,则表示数据读取器中没有数据行。Read()方法通常用于循环读取数据表的数据记录。 while(dr.Read() /依次处理每一条数据记录 Close()方法用于关闭数据读取器对象,以释放其占有的资源。,课堂案例2.NET平台Oracle数据库程序开发,数据读取器类,添加标题文字,教师演示讲解,(3)数据读取器类的常用属性。 数据读取器类的HasRow属性用于获取对象中是否包含了数据行,为bool类型;FieldCount属性用于获取当前数据行的列数;IsClosed属性指

24、示当前数据读取器是否已经关闭。,课堂案例2.NET平台Oracle数据库程序开发,数据适配器类,添加标题文字,教师演示讲解,(1)构造数据适配器对象。构造数据适配器对象的格式如下: OleDbDataAdapter da = new OleDbDataAdapter(命令文本,连接对象); OracleDataAdapter da = new OracleDataAdapter (命令文本,连接对象); OdbcDataAdapter da = new OdbcDataAdapter (命令文本,连接对象); (2)数据适配器类的常用方法。数据适配器类的Fill()方法用于填充数据集,并返回填

25、充的行数,其使用格式为: da.Fill(数据集对象,表名); Update()方法用于更新数据表,并返回受影响的行数,其使用格式为:da.Update(数据集,表名);,课堂案例2.NET平台Oracle数据库程序开发,数据适配器类,添加标题文字,教师演示讲解,(3)数据适配器类的常用属性。 SelectCommand属性用于设置或获取SQL语句或存储过程,以从数据源中查询数据记录; InsertCommand属性用于设置或获取SQL语句或存储过程,以向数据源中插入数据记录; UpdateCommand属性用于设置或获取SQL语句或存储过程,以更新数据源中的数据记录; DeleteComma

26、nd属性用于设置或获取SQL语句或存储过程,以删除数据源中的数据记录。,课堂案例2.NET平台Oracle数据库程序开发,数据集类,添加标题文字,教师演示讲解,数据集类是ADO.NET中一种最常用的数据存储类,它的实例存储数据库中的信息在本地内存中的拷贝,可以修改这个本地拷贝,并通过数据适配器在数据集与数据库之间同步这些改变。 数据集类DataSet位于System.Data名称空间,数据集对象可以表示数据表、行和列等数据结构,也可以表示XML数据。 Tables属性是数据集类的常用属性,表示数据集中表的集合。一个数据集对象可以由若干个数据表对象组成,并通过索引运算。,课堂案例2.NET平台O

27、racle数据库程序开发,案例完成步骤,添加标题文字,DataGridView控件绑定Oracle数据库数据源 详细步骤略,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,ODBC方式访问Oracle数据库 【例12-4】 使用ODBC方式访问Oracle数据库,并在控制台输出用户方案SCOTT中商品表GOODS的所有信息。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,ODBC方式访问Oracle数据库 【例12-4】 使用ODBC方式访问Oracle数据库,并在控制台输出用户方案SCOTT中商品表GOODS的所有信息。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,OLE DB方式访问Oracle数据库 【例12-5】 使用OLE DB方式访问Oracle数据库,并在控制台输出用户方案SCOTT商品表GOODS的所有信息 。 using System.Data.OleDb; /引入OLE DB访问Oracl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论