Oracle11g教程第12章数据库应用程序开发.ppt

上传人:小飞机 文档编号:5442019 上传时间:2023-07-07 格式:PPT 页数:43 大小:457.50KB
返回 下载 相关 举报
Oracle11g教程第12章数据库应用程序开发.ppt_第1页
第1页 / 共43页
Oracle11g教程第12章数据库应用程序开发.ppt_第2页
第2页 / 共43页
Oracle11g教程第12章数据库应用程序开发.ppt_第3页
第3页 / 共43页
Oracle11g教程第12章数据库应用程序开发.ppt_第4页
第4页 / 共43页
Oracle11g教程第12章数据库应用程序开发.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Oracle11g教程第12章数据库应用程序开发.ppt》由会员分享,可在线阅读,更多相关《Oracle11g教程第12章数据库应用程序开发.ppt(43页珍藏版)》请在三一办公上搜索。

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)重用性差。(4)移植性差。,

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

4、网络环境,局域网之间通过专门服务器提供连接和数据交换服务;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结构侧重于程序的整体性,程序模块的重用性不是很好;B/S结构一般采用多层架构,使用相对独立

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

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

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

8、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,user,password);(2)JDBC直接连接方式。conn=Driv

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

10、E);(2)PreparedStatement接口。PreparedStatement接口用于实现发送带参数的预编译SQL语句到数据库并返回执行结果的功能,预编译意味着这些语句可以比单个语句更有效地执行,尤其是在循环中重复执行某条语句时。(3)CallableStatement接口。CallableStatement接口用于实现调用数据库存储过程的功能。使用CallableStatement接口既支持直接存储过程调用,也支持带占位符的存储过程调用。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,4ODBC-JDBC桥访问实例【例12-1】使用ODB

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

12、n=DriverManager.getConnection(jdbc:odbc:MyData,SCOTT,123456);(4)发送SQL请求:Statement stat=conn.createStatement();ResultSet rs=stat.executeQuery(sQuery);(5)操作结果集对象。(6)关闭相关对象。,教师演示讲解,课堂案例1Java平台Oracle数据库程序开发,案例完成步骤,添加标题文字,5JDBC直接访问实例【例12-2】使用JDBC方式查询Oracle数据库,并显示用户方案SCOTT的商品表GOODS中商品类别编号为“02”的商品信息。,教师演示讲

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

14、va程序调用Oracle存储过程【例12-3】编写Java程序,调用Oracle数据库中的存储过程up_GetByID,实现根据商品的编号获得商品的名称和类别编号。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,学习使用.NET平台连接Oracle数据库、访问Oracle数据库、处理Oracle数据库数据的方法。,案例学习目标,DataGridView控件绑定连接Oracle数据库、ODBC方式访问Oracle数据库、OLE DB方式访问Oracle数据库、OracleClient方式访问Oracle数据库、.NET平台调用Oracle存储过程。,案例知识要点,课堂案例2.N

15、ET平台Oracle数据库程序开发,ADO.NET概述,添加标题文字,ADO.NET 提供对 Microsoft SQL Server等数据源以及通过 OLE DB和XML公开的数据源的一致访问。ADO.NET是重要的应用程序接口,用于在 Microsoft.NET平台中提供数据访问服务。ADO.NET中,可以使用的数据提供程序主要包括以下几种。(1)SQL Server.NET Framework数据提供程序;(2)OLE DB.NET Framework数据提供程序;(3)ODBC.NET Framework数据提供程序;(4)Oracle.NET Framework数据提供程序。,教师演

16、示讲解,课堂案例2.NET平台Oracle数据库程序开发,ADO.NET结构,添加标题文字,教师演示讲解,ADO.NET针对Oracle也特别推出了以Oracle为前缀的系列类,用户需要在项目中引入引用,并使用添加名称空间命令:using;,课堂案例2.NET平台Oracle数据库程序开发,数据连接类,添加标题文字,教师演示讲解,(1)构造连接类对象。构造连接类对象的格式为:OleDbConnection conn=new OleDbConnection(连接字符串);OracleConnection conn=new OracleConnection(连接字符串);OdbcConnectio

17、n conn=new OdbcConnection(连接字符串);使用OLE DB方式访问Oracle数据库的连接字符串形如:Provider=OraOLEDB.Oracle;Data Source=EBUY;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数据库程序开发

18、,数据连接类,添加标题文字,教师演示讲解,(2)连接类的常用方法 显式调用Open()方法打开连接,调用格式为:conn.Open();对数据库访问完毕后,需要显式调用Close()方法及时关闭数据库连接,调用格式为:conn.Close();但也有一个例外,当使用数据适配器类的Fill()方法或Update()方法操作数据库时,不需要显式调用Open()方法打开连接,ADO.NET会自动打开连接,操作完成后会自动关闭连接。(3)State属性。连接类的State属性标识连接对象的当前连接状态,当值为Open时,表示连接已经打开;当值为Closed时,表示连接已经关闭。可以通过对State属性

19、的判别来识别当前的连接状态。,课堂案例2.NET平台Oracle数据库程序开发,命令类,添加标题文字,教师演示讲解,(1)构造命令类对象。构造命令类对象的格式如下:OleDbCommand comm=new OleDbCommand(命令文本,连接对象);OracleCommand comm=new OracleCommand(命令文本,连接对象);OdbcCommand comm=new OdbcCommand(命令文本,连接对象);(2)命令类的常用方法。OleDbDataReader dr=comm.ExecuteReader();OracleDataReader dr=comm.Exe

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

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

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

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

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

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

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

27、信息。,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,OLE DB方式访问Oracle数据库【例12-5】使用OLE DB方式访问Oracle数据库,并在控制台输出用户方案SCOTT商品表GOODS的所有信息。using;/引入OLE DB访问Oracle方式所用的名称空间 OleDbConnection conn=null;/数据连接对象OleDbCommand comm=null;/数据命令对象OleDbDataReader dr=null;/数据读取器对象,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题

28、文字,OracleClient方式访问Oracle数据库【例12-6】使用OracleClient方式访问Oracle数据库,并在控制台输出用户方案SCOTT中商品表GOODS的所有信息。依次选择“项目”“添加引用”菜单,打开“添加引用”对话框,选择,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,OracleClient方式访问Oracle数据库,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,OracleClient方式访问Oracle数据库,教师演示讲解,课堂案例2.NET平台Oracle数据库程序开

29、发,案例完成步骤,添加标题文字,C#.NET程序调用Oracle存储过程【例12-7】调用第7章例3-5中的存储过程SCOTT.UP_GETBYID,根据商品编获得商品的名称和类别编号。(详细代码略),教师演示讲解,课堂案例2.NET平台Oracle数据库程序开发,案例完成步骤,添加标题文字,基本步骤:(1)建立和Oracle数据库的连接。(2)构造数据命令对象(包括指定连接对象、设置命令文本和指定存储过程名称)。(3)定义存储过程的参数(包括设置参数的名称、数据类型、长度和值,设置参数的输入/输出类型)。(4)填充参数到数据命令对象。(5)打开连接。(6)调用存储过程。(7)处理输出参数。,教师演示讲解,编写显示BookData数据库借阅表中信息的Java程序Borrow.java,并编译执行该程序。,任务1,编写访问BookData数据库ReaderInfo表中信息的WebForm应用程序,并编译执行该程序。,任务2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号