数据库应用程序开发

上传人:百**** 文档编号:243460181 上传时间:2024-09-23 格式:PPT 页数:43 大小:4.43MB
返回 下载 相关 举报
数据库应用程序开发_第1页
第1页 / 共43页
数据库应用程序开发_第2页
第2页 / 共43页
数据库应用程序开发_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2024/9/23,*,Oracle,数据库管理与应用实例教程,第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,数据库应用程序结构,概述,数据库应用程序是指任何可以,添加,、,查看,、,修改,和,删除,特定数据库(如,Oracle,中的,eBuy,)中数据的应用程序。,数据库应用程序一般包括三大组成部分:,一是为应用程序提供数据的后台数据库;,二是实现与用户交互的前台界面;,三是实现具体业务逻辑的组件。,具体来说,数据库应用程序的结构可依其数据处理及存取方式分为主机,-,多终端结构、文件型结构、,C/S,(客户机,/,服务器)结构、,B/S,(浏览器,/,服务器)结构以及,3,层,/,多层结构等。,12.1,数据库应用程序结构,客户机,/,服务器结构,客户机,/,服务器结构的出现是为了解决,费用,和,性能,的矛盾,最简单的,C/S,结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。,(,1,)伸缩性差。,(,2,)性能较差。,(,3,)重用性差。,(,4,)移植性差。,12.1,数据库应用程序结构,浏览器,/,服务器结构,浏览器,/,服务器结构,是随着,Internet,技术的兴起,对,C/S,结构的一种,变化或者改进,的结构。,在,B/S,结构下,用户界面完全通过,WWW,浏览器,实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。,基于,B/S,结构的软件的系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行程序的全部功能,真正实现“,零客户端,”。,B/S,结构还提供了异种机、异种网和异种应用服务的,开放性基础,,这种结构已成为当今应用软件的首选体系结构。,12.1,数据库应用程序结构,C/S VS B/S,1,支撑环境,C/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,结构侧重于程序的整体性,程序模块的重用性不是很好;,B/S,结构一般采用多层架构,使用相对独立的中间件实现相对独立的功能,能够很好地实现重用。,5,可维护性,C/S,结构处理出现的问题以及系统升级都比较难,一旦升级可能要求开发一个全新的系统;,B/S,程序由组件组成,通过更换个别的组件,可以实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。,6,用户界面,C/S,结构大多是建立的,Window,平台上,表现方法有限,对程序员普遍要求较高;,B/S,结构建立在浏览器上,有更加丰富、生动的表现方式与用户交流,开发难度降低,开发成本下降。,12.1,数据库应用程序结构,3,层,/N,层结构,(,1,),用户界面层,:实现用户界面,并保证用户界面的友好性、统一性。,(,2,),业务逻辑层,:实现数据库的存取及应用程序的商业逻辑计算。,(,3,),数据服务层,:实现数据定义、存储、备份和检索等功能,主要由数据库系统实现。,课堂案例,1Java,平台,Oracle,数据库程序开发,学习使用,ODBC-JDBC,桥访问,Oracle,数据库、使用,JDBC,驱动程序直接访问,Oracle,数据库、在,Java,程序中调用,Oracle,数据库中存储过程的方法和一般步骤 。,案例学习目标,ODBC,数据源的配置、部署,ojdbc6_g.jar,包、连接,Oracle,数据库、访问,Oracle,数据库、处理,Oracle,数据库数据、编写存储过程、编写,Java,程序、,Java,程序调用存储过程 。,案例知识要点,课堂案例,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,数据源后,应用程序再使用,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,user,password);,(,2,),JDBC,直接连接方式,。,conn=DriverManager.getConnection(jdbc:oracle:thin:SD04:1521:EBUY,SCOTT,123456);,其中,,SD04,表示服务器名称,也可以使用,IP,地址代替,如,127.0.0.1,;,EBUY,表示,Oracle,全局数据库名称;,1521,表示相应的连接端口。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,3,发送和执行,SQL,语句,(,1,),Statement,接口。,Statementstat= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);,(,2,),PreparedStatement,接口。,PreparedStatement,接口用于实现发送带参数的预编译,SQL,语句到数据库并返回执行结果的功能,预编译意味着这些语句可以比单个语句更有效地执行,尤其是在循环中重复执行某条语句时。,(,3,),CallableStatement,接口。,CallableStatement,接口用于实现调用数据库存储过程的功能。使用,CallableStatement,接口既支持直接存储过程调用,也支持带占位符的存储过程调用。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,4,ODBC-JDBC,桥访问实例,【,例,12-1】,使用,ODBC,方式查询,Oracle,数据库,并显示用户方案,SCOTT,中商品表,GOODS,的信息。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,4,ODBC-JDBC,桥访问实例,【,例,12-1】,使用,ODBC,方式查询,Oracle,数据库,并显示用户方案,SCOTT,中商品表,GOODS,的信息。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,基本步骤:,(,1,)使用“,import java.sql.*;”,引入,JDBC 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,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,5,JDBC,直接访问实例,【,例,12-2】,使用,JDBC,方式查询,Oracle,数据库,并显示用户方案,SCOTT,的商品表,GOODS,中商品类别编号为“,02”,的商品信息。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,5,JDBC,直接访问实例,【,例,12-2】,使用,JDBC,方式查询,Oracle,数据库,并显示用户方案,SCOTT,的商品表,GOODS,中商品类别编号为“,02”,的商品信息。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,6,Java,程序调用,Oracle,存储过程,【,例,12-3】,编写,Java,程序,调用,Oracle,数据库中的存储过程,up_GetByID,,实现根据商品的编号获得商品的名称和类别编号。,教师演示讲解,课堂案例,1Java,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,6,Java,程序调用,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.NET,平台,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,数据提供程序。,教师演示讲解,课堂案例,2.NET,平台,Oracle,数据库程序开发,ADO.NET,结构,添加标题文字,教师演示讲解,ADO.NET,针对,Oracle,也特别推出了以,Oracle,为前缀的系列类,用户需要在项目中引入,System.Data.OracleClient.dll,引用,并使用添加名称空间命令:,using System.Data.OracleClient;,课堂案例,2.NET,平台,Oracle,数据库程序开发,数据连接类,添加标题文字,教师演示讲解,(,1,)构造连接类对象。,构造连接类对象的格式为:,OleDbConnection conn = new OleDbConnection(,连接字符串,);,OracleConnection conn = new OracleConnection(,连接字符串,);,OdbcConnection 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,数据库程序开发,数据连接类,添加标题文字,教师演示讲解,(,2,)连接类的常用方法,显式调用,Open(),方法打开连接,调用格式为:,conn.Open(),;,对数据库访问完毕后,需要显式调用,Close(),方法及时关闭数据库连接,调用格式为:,conn.Close(),;,但也有一个例外,当使用数据适配器类的,Fill(),方法或,Update(),方法操作数据库时,不需要显式调用,Open(),方法打开连接,,ADO.NET,会自动打开连接,操作完成后会自动关闭连接。,(,3,),State,属性。,连接类的,State,属性标识连接对象的当前连接状态,当值为,Open,时,表示连接已经打开;当值为,Closed,时,表示连接已经关闭。可以通过对,State,属性的判别来识别当前的连接状态。,课堂案例,2.NET,平台,Oracle,数据库程序开发,命令类,添加标题文字,教师演示讲解,(,1,)构造命令类对象。,构造命令类对象的格式如下:,OleDbCommand 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.ExecuteNonQuery(),;,课堂案例,2.NET,平台,Oracle,数据库程序开发,命令类,添加标题文字,教师演示讲解,(,3,),Parameters,属性。,方式一:,comm.Parameters.Add(,参数名称,数据类型,长度,).Value =,值,;,方式二:,OleDbParameter param = new OleDbParameter(,参数名称,数据类型,长度,);,/,或,OracleParameter param = new OracleParameter (,参数名称,数据类型,长度,);,/,或,OdbcParameter param = new OdbcParameter (,参数名称,数据类型,长度,);,comm.Parameters.Add(param);,课堂案例,2.NET,平台,Oracle,数据库程序开发,数据读取器类,添加标题文字,教师演示讲解,(,1,)填充数据行。,数据读取器类用于从数据源中读取只进且只读的数据流。所有数据读取器类对象的基类均为,DbDataReader,类。填充数据读取器对象的格式如下所示:,OleDbDataReader dr = comm.ExecuteReader(),;,OracleDataReader dr = comm.ExecuteReader(),;,OdbcDataReader dr = comm.ExecuteReader(),;,(,2,)数据读取器类的常用方法。,数据读取器类的,Read(),方法使数据指针向前移动一条记录,返回类型为,bool,,如果返回值为,false,,则表示数据读取器中没有数据行。,Read(),方法通常用于循环读取数据表的数据记录。,while(dr.Read(),/,依次处理每一条数据记录,Close(),方法用于关闭数据读取器对象,以释放其占有的资源。,课堂案例,2.NET,平台,Oracle,数据库程序开发,数据读取器类,添加标题文字,教师演示讲解,(,3,)数据读取器类的常用属性。,数据读取器类的,HasRow,属性用于获取对象中是否包含了数据行,为,bool,类型;,FieldCount,属性用于获取当前数据行的列数;,IsClosed,属性指示当前数据读取器是否已经关闭。,课堂案例,2.NET,平台,Oracle,数据库程序开发,数据适配器类,添加标题文字,教师演示讲解,(,1,)构造数据适配器对象,。构造数据适配器对象的格式如下:,OleDbDataAdapter da = new OleDbDataAdapter(,命令文本,连接对象,),;,OracleDataAdapter da = new OracleDataAdapter (,命令文本,连接对象,),;,OdbcDataAdapter da = new OdbcDataAdapter (,命令文本,连接对象,),;,(,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,数据库程序开发,案例完成步骤,添加标题文字,OLE DB,方式访问,Oracle,数据库,【,例,12-5】,使用,OLE DB,方式访问,Oracle,数据库,并在控制台输出用户方案,SCOTT,商品表,GOODS,的所有信息 。,using System.Data.OleDb;,/,引入,OLE DB,访问,Oracle,方式所用的名称空间,OleDbConnection conn = null;,/,数据连接对象,OleDbCommand comm = null;,/,数据命令对象,OleDbDataReader dr = null;,/,数据读取器对象,教师演示讲解,课堂案例,2.NET,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,OracleClient,方式访问,Oracle,数据库,【,例,12-6】,使用,OracleClient,方式访问,Oracle,数据库,并在控制台输出用户方案,SCOTT,中商品表,GOODS,的所有信息。,依次选择“项目”“添加引用”菜单,打开“添加引用”对话框,选择,System.Data.OracleClient.dll,教师演示讲解,课堂案例,2.NET,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,OracleClient,方式访问,Oracle,数据库,教师演示讲解,课堂案例,2.NET,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,OracleClient,方式访问,Oracle,数据库,教师演示讲解,课堂案例,2.NET,平台,Oracle,数据库程序开发,案例完成步骤,添加标题文字,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,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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