Oracle第章数据库应用程序开发_第1页
Oracle第章数据库应用程序开发_第2页
Oracle第章数据库应用程序开发_第3页
Oracle第章数据库应用程序开发_第4页
Oracle第章数据库应用程序开发_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第12章数据库应用程序开发主编:刘志成本章学习导航本章学习导航本章学习要点(1)C/S结构和B/S结构;(2)常用的数据库访问技术;(3)使用JDBC-ODBC桥访问Oracle11g数据库;(4)使用JDBCDriver访问Oracle11g数据库;(5)C#.NET中使用ODBC方式访问Oracle11g数据库;(6)C#.NET中使用OLEDB方式访问Oracle11g数据库;(7)C#.NET中使用OracleClient方式访问Oracle11g数据库。

建议课时:8课时12.1数据库应用程序结构

概述数据库应用程序是指任何可以添加、查看、修改和删除特定数据库(如Oracle中的eBuy)中数据的应用程序。

数据库应用程序一般包括三大组成部分:一是为应用程序提供数据的后台数据库;二是实现与用户交互的前台界面;三是实现具体业务逻辑的组件。具体来说,数据库应用程序的结构可依其数据处理及存取方式分为主机-多终端结构、文件型结构、C/S(客户机/服务器)结构、B/S(浏览器/服务器)结构以及3层/多层结构等。

12.1数据库应用程序结构

客户机/服务器结构客户机/服务器结构的出现是为了解决费用和性能的矛盾,最简单的C/S结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。

(1)伸缩性差。

(2)性能较差。

(3)重用性差。

(4)移植性差。

12.1数据库应用程序结构

浏览器/服务器结构12.1数据库应用程序结构

C/SVSB/S1.支撑环境

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

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

3层/N层结构(1)用户界面层:实现用户界面,并保证用户界面的友好性、统一性。(2)业务逻辑层:实现数据库的存取及应用程序的商业逻辑计算。(3)数据服务层:实现数据定义、存储、备份和检索等功能,主要由数据库系统实现。

课堂案例1——Java平台Oracle数据库程序开发

学习使用ODBC-JDBC桥访问Oracle数据库、使用JDBC驱动程序直接访问Oracle数据库、在Java程序中调用Oracle数据库中存储过程的方法和一般步骤

。案例学习目标

ODBC数据源的配置、部署ojdbc6_g.jar包、连接Oracle数据库、访问Oracle数据库、处理Oracle数据库数据、编写存储过程、编写Java程序、Java程序调用存储过程。案例知识要点课堂案案例1———Java平台Oracle数据库库程序序开发发JDBC概述添加标标题文文字JDBC(JavaDatabaseConnection)作为为一种种中间间件,,可以以实现现Java应用程程序与与数据据库之之间的的接口口功能能。SunMicrosystems公司已已将JDBC作为JDK的一部部分,,包括括这些些JDBCAPI,使Java应用与与数据据库通通信。。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字1.注册册数据据库驱驱动程程序(1)JDBC-ODBC桥接方方式。Java应用程程序访访问Oracle数据库库,我我们可可以通通过配配置数数据源源的方方法来来实现现,即即ODBC方式。。配置置Oracle数据源源后,,应用用程序序再使使用JDBC提供的的编程程接口口,通通过数数据源源名称称访问问指定定类型型的数数据库库。JDBC使用驱驱动器器管理理器管管理各各种数数据库库驱动动程序序,应应用程程序使使用统统一的的方式式访问问数据据库。。(2)JDBC直接连连接方方式。即使使用JDBC直接连连接数数据源源的方方法。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字2.获得得数据据库连连接(1)JDBC-ODBC桥接方方式。Stringurl="jdbc:odbc:MyData";Stringuser="SCOTT";Stringpassword="123456";Connectionconn=DriverManager.getConnection(url,user,password);(2)JDBC直接连连接方方式。conn=DriverManager.getConnection("jdbc:oracle:thin:@SD04:1521:EBUY","SCOTT","123456");其中,,SD04表示服服务器器名称称,也也可以以使用用IP地址代代替,,如;EBUY表示Oracle全局数数据库库名称称;1521表示相相应的的连接接端口口。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字3.发送送和执执行SQL语句(1)Statement接口。。Statementstat=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);(2)PreparedStatement接口。。PreparedStatement接口用用于实实现发发送带带参数数的预预编译译SQL语句到到数据据库并并返回回执行行结果果的功功能,,预编编译意意味着着这些些语句句可以以比单单个语语句更更有效效地执执行,,尤其其是在在循环环中重重复执执行某某条语语句时时。(3)CallableStatement接口。。CallableStatement接口用用于实实现调调用数数据库库存储储过程程的功功能。。使用用CallableStatement接口既既支持持直接接存储储过程程调用用,也也支持持带占占位符符的存存储过过程调调用。。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字4.ODBC-JDBC桥访问问实例例【例12-1】】使用ODBC方式查查询Oracle数据库库,并并显示示用户户方案案SCOTT中商品品表GOODS的信息息。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字4.ODBC-JDBC桥访问问实例例【例12-1】】使用ODBC方式查查询Oracle数据库库,并并显示示用户户方案案SCOTT中商品品表GOODS的信息息。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字基本步步骤::(1)使用用“importjava.sql.*;”引入JDBCAPI所在的的包。。(2)注册册Oracle数据库库驱动动程序序:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");(3)获得得和Oracle数据库库的连连接::Connectionconn=DriverManager.getConnection("jdbc:odbc:MyData","SCOTT","123456");(4)发送送SQL请求::Statementstat=conn.createStatement();ResultSetrs=stat.executeQuery(sQuery);(5)操作作结果果集对对象。。(6)关闭闭相关关对象象。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字5.JDBC直接访访问实实例【例12-2】】使用JDBC方式查查询Oracle数据库库,并并显示示用户户方案案SCOTT的商品品表GOODS中商品品类别别编号号为““02””的商品品信息息。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字5.JDBC直接访访问实实例【例12-2】】使用JDBC方式查查询Oracle数据库库,并并显示示用户户方案案SCOTT的商品品表GOODS中商品品类别别编号号为““02””的商品品信息息。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字6.Java程序调调用Oracle存储过过程【例12-3】】编写Java程序,,调用用Oracle数据库库中的的存储储过程程up_GetByID,实现现根据据商品品的编编号获获得商商品的的名称称和类类别编编号。。教师演演示讲讲解课堂案案例1———Java平台Oracle数据库库程序序开发发案例完完成步步骤添加标标题文文字6.Java程序调调用Oracle存储过过程【例12-3】】编写Java程序,,调用用Oracle数据库库中的的存储储过程程up_GetByID,实现现根据据商品品的编编号获获得商商品的的名称称和类类别编编号。。教师演演示讲讲解课堂案案例2———.NET平台Oracle数据库库程序序开发发学习使使用.NET平台连连接Oracle数据库库、访访问Oracle数据库库、处处理Oracle数据库库数据据的方方法。案例学学习目目标DataGridView控件绑绑定连连接Oracle数据库库、ODBC方式访访问Oracle数据库库、OLEDB方式访访问Oracle数据库库、OracleClient方式访访问Oracle数据库库、.NET平台调调用Oracle存储过过程。案例知知识要要点课堂案案例2———.NET平台Oracle数据库库程序序开发发ADO.NET概述添加标标题文文字ADO.NET提供对对MicrosoftSQLServer等数据据源以以及通通过OLEDB和XML公开的的数据据源的的一致访访问。ADO.NET是重要要的应用程程序接接口,用于于在Microsoft.NET平台中中提供供数据据访问问服务务。ADO.NET中,可可以使使用的的数据据提供供程序序主要要包括括以下下几种种。(1)SQLServer.NETFramework数据提提供程程序;;(2)OLEDB.NETFramework数据提提供程程序;;(3)ODBC.NETFramework数据提提供程程序;;(4)Oracle.NETFramework数据提提供程程序。。教师演演示讲讲解课堂案案例2———.NET平台Oracle数据库库程序序开发发ADO.NET结构添加标标题文文字教师演演示讲讲解ADO.NET针对Oracle也特别别推出出了以以Oracle为前缀缀的系系列类类,用用户需需要在在项目目中引引入引用,,并使使用添添加名名称空空间命命令::usingSystem.Data.OracleClient;课堂案案例2———.NET平台Oracle数据库库程序序开发发数据连连接类类添加标标题文文字教师演演示讲讲解(1)构造造连接接类对对象。。构造连连接类类对象象的格格式为为:OleDbConnectionconn=newOleDbConnection(连接字字符串串);OracleConnectionconn=newOracleConnection(连接字字符串串);OdbcConnectionconn=newOdbcConnection(连接字字符串串);使用OLEDB方式访访问Oracle数据库库的连连接字字符串串形如如:Provider=OraOLEDB.Oracle;DataSource=EBUY;UserID=SCOTT;Password=123456使用OracleClient方式访访问Oracle数据库库的连连接字字符串串形如如:DataSource=EBUY;UserID=SCOTT;Password=123456使用ODBC方式访访问Oracle数据库库的连连接字字符串串形如如:DSN=MyData;UID=SCOTT;PWD=123456课堂案案例2———.NET平台Oracle数据库库程序序开发发数据连连接类类添加标标题文文字教师演演示讲讲解(2)连接接类的的常用用方法法显式调调用Open()方法打打开连连接,,调用用格式式为::conn.Open();对数据据库访访问完完毕后后,需需要显显式调调用Close()方法及及时关关闭数数据库库连接接,调调用格格式为为:conn.Close();但也有有一个个例外外,当当使用用数据据适配配器类类的Fill()方法或或Update()方法操操作数数据库库时,,不需需要显显式调调用Open()方法打打开连连接,,ADO.NET会自动动打开开连接接,操操作完完成后后会自自动关关闭连连接。。(3)State属性。。连接类类的State属性标标识连连接对对象的的当前前连接接状态态,当当值为为Open时,表表示连连接已已经打打开;;当值值为Closed时,表表示连连接已已经关关闭。。可以以通过过对State属性的的判别别来识识别当当前的的连接接状态态。课堂案案例2———.NET平台Oracle数据库库程序序开发发命令类类添加标标题文文字教师演演示讲讲解(1)构造造命令令类对对象。。构造命命令类类对象象的格格式如如下::OleDbCommandcomm=newOleDbCommand(命令文文本,连接对对象);OracleCommandcomm=newOracleCommand(命令文文本,连接对对象);OdbcCommandcomm=newOdbcCommand(命令文文本,连接对对象);(2)命令令类的的常用用方法法。OleDbDataReaderdr=comm.ExecuteReader();OracleDataReaderdr=comm.ExecuteReader();OdbcDataReaderdr=comm.ExecuteReader();introws=comm.ExecuteNonQuery();课堂案案例2———.NET平台Oracle数据库库程序序开发发命令类类添加标标题文文字教师演演示讲讲解(3)Parameters属性。。方式一一:comm.Parameters.Add(参数名名称,数据类类型,长度).Value=值;方式二二:OleDbParameterparam=newOleDbParameter(参数名名称,数据类类型,长度);//或OracleParameterparam=newOracleParameter(参数名名称,数据类类型,长度);//或OdbcParameterparam=newOdbcParameter(参数名名称,数据类类型,长度);comm.Parameters.Add(param);课堂案案例2———.NET平台Oracle数据库库程序序开发发数据读读取器器类添加标标题文文字教师演演示讲讲解(1)填充充数据据行。。数据读读取器器类用用于从从数据据源中中读取取只进进且只只读的的数据据流。。所有有数据据读取取器类类对象象的基基类均均为DbDataReader类。填填充数数据读读取器器对象象的格格式如如下所所示::OleDbDataReaderdr=comm.ExecuteReader();OracleDataReaderdr=comm.ExecuteReader();OdbcDataReaderdr=comm.ExecuteReader();(2)数据据读取取器类类的常常用方方法。。数据读读取器器类的的Read()方法使使数据据指针针向前前移动动一条条记录录,返返回类类型为为bool,如果果返回回值为为false,则表表示数数据读读取器器中没没有数数据行行。Read()方法通通常用用于循循环读读取数数据表表的数数据记记录。。while(dr.Read()){//依次处处理每每一条条数据据记录录}Close()方法用用于关关闭数数据读读取器器对象象,以以释放放其占占有的的资源源。课堂案案例2———.NET平台Oracle数据库库程序序开发发数据读读取器器类添加标标题文文字教师演演示讲讲解(3)数据据读取取器类类的常常用属属性。。数据读读取器器类的的HasRow属性用用于获获取对对象中中是否否包含含了数数据行行,为为bool类型;;FieldCount属性用用于获获取当当前数数据行行的列列数;;IsClosed属性指指示当当前数数据读读取器器是否否已经经关闭闭。课堂案案例2———.NET平台Oracle数据库库程序序开发发数据适适配器器类添加标标题文文字教师演演示讲讲解(1)构造造数据据适配配器对对象。构造造数据据适配配器对对象的的格式式如下下:OleDbDataAdapterda=newOleDbDataAdapter(命令文文本,,连接接对象象);OracleDataAdapterda=newOracleDataAdapter(命令文文本,,连接接对象象);OdbcDataAdapterda=newOdbcDataAdapter(命令文文本,,连接接对象象);(2)数据据适配配器类类的常常用方方法。数据据适配配器类类的Fill()方法用用于填填充数数据集集,并并返回回填充充的行行数,,其使使用格格式为为:da.Fill(数据集集对象象,表名);Update()方法用用于更更新数数据表表,并并返回回受影影响的的行数数,其其使用用格式式为::da.Update(数据集集,表名);课堂案案例2———.NET平台Oracle数据库库程序序开发发数据适适配器器类添加标标题文文字教师演演示讲讲解(3)数据据适配配器类类的常常用属属性。。SelectCommand属性用用于设设置或或获取取SQL语句或或存储储过程程,以以从数数据源源中查查询数数据记记录;;InsertCommand属性用用于设设置或或获取取SQL语句或或存储储过程程,以以向数数据源源中插插入数数据记记录;;UpdateCommand属性用用于设设置或或获取取SQL语句或或存储储过程程,以以更新新数据据源中中的数数据记记录;;DeleteCommand属性用用于设设置或或获取取SQL语句或或存储储过程程,以以删除除数据据源中中的数数据记记录。。课堂案案例2———.NET平台Oracle数据库库程序序开发发数据集集类添加标标题文文字教师演演示讲讲解数据集集类是是ADO.NET中一种种最常常用的的数据存存储类类,它的的实例例存储储数据据库中中的信信息在在本地地内存存中的的拷贝贝,可可以修修改这这个本本地拷拷贝,,并通通过数数据适适配器器在数数据集集与数数据库库之间间同步步这些些改变变。数据集类类DataSet位于System.Data名称空间间,数据据集对象象可以表表示数据据表、行行和列等等数据结结构,也也可以表表示XML数据。Tables属性是数数据集类类的常用用属性,,表示数数据集中中表的集合合。一个数数据集对对象可以以由若干干个数据据表对象象组成,,并通过过索引运运算。课堂案例例2——.NET平台Oracle数据库程程序开发发案例完成成步骤添加标题题文字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数据库程程序开发发案例完成成步骤添加标题题文字OLEDB方式访问问Oracle数据库【例12-5】使用OLEDB方式访问问Oracle数据库,

温馨提示

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

评论

0/150

提交评论