数据库应用开发-客户端开发技术及工具.ppt
《数据库应用开发-客户端开发技术及工具.ppt》由会员分享,可在线阅读,更多相关《数据库应用开发-客户端开发技术及工具.ppt(73页珍藏版)》请在三一办公上搜索。
1、数据库应用开发,客户端开发技术及工具,第一节 ODBC应用与开发,学习目标:,什么是ODBC?,ODBC的体系结构;,ODBC的应用特色;,ODBC操纵。,一、什么是ODBC?,1、ODBC的概念,ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(Application Programming Interface,应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提
2、供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,一、什么是ODBC?,2、ODBC技术背景,史前 API,后来 CLI(Call-Level Interface),再后来 ODBC,再后来 OLE,新世纪终于到来 ADO.NET,再后来 ADO,二、ODBC的体系结构,1、ODBC的组成结构,二、ODBC的体系结构,2、各层的功能,三、应用ODBC的优势,1、应用ODBC保证了数据库的独立性,2、应用ODBC保证了数据库之间的互操作能力,四、ODBC操纵,重点:如何创建ODBC数据源,第二节 ADO应用与开发,学习目标:什么是ADO?ADO对象及其应用!ADO对象模型及其应用特
3、征,一、ADO概述,1、什么是ADO?ADO,即ActiveX Data Objects,是一种应用广泛的数据库访问技术,它基于OLEDB技术,是对OLEDB面向对象的封装。OLEDB与ODBC相比,在底层的数据库引擎和每一个独立的数据库引擎之间的接口存在着较大的不同。在ODBC中,每一种类型的数据库都必须有相应的驱动器动态链接库(DLL),ODBC引擎使用该DLL打开相应类型的数据库并进行记录的读写修改等操作。OLEDB同样需要驱动器,但不同的是,OLEDB的驱动器是通过ActiveX实现的。一个ActiveX就定义了用来实现特定接口的类,这种方式减少了程序和数据库引擎之间的层次,因而提高了
4、数据库编程的速度。ADO实际上就是一个ActiveX对象集,封装了多种对象方法属性。,1.1 ADO、OLE DB以及ODBC的关系,1.2 ADO基本操作,ADO提供了以下的操作:连接到数据源;指定访问数据源的命令;执行命令;如果这个命令使数据按表中的行的方式返回,则将这些行存储在易于检查、操作或更改的缓存(CASHE)中;适当情况下,可使用缓存行中的更改内容来更新数据源;提供常规的方法检测错误。,二、ADO对象模型及其应用特征,2.2 ADO对象的功能说明,其中,Connection,Command,Recordset和Fields对象还有Properties集合。Connection 对
5、象代表打开的、与数据源的连接;Command 对象定义了将对数据源执行的指定命令;Recordset 对象表示的是来自基本表或命令执行结果的记录全集;Errors 对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息;Fields 对象代表使用普通数据类型的数据的列的集合;Parameter 对象代表与基于参数化查询或存储过程的 Command 对象相关联的参数或自变量;Property 对象代表由提供者定义的 ADO 对象的动态特征;,2.3 ADO的优点,使用方便灵活;使用简单;面向对象的体系结构;对象的共享机制。,三、Connection对象,1、Connection对象的作用
6、Connection对象是数据库与外界沟通的唯一桥梁,所有对数据库的操作都必须依赖于Connection对象。一个Connection对象代表了一个程序到数据库的连接。,3.2 Connection对象的属性,3.3 Connection对象的方法,3.4 Connection对象应用示例(ASP),定义及实例化DIM MyConnSET MyConn=Server.CreateObject(ADODB.CONNECTION)打开连接DIM ConnStrConnStr=“DSN=mydsn;uid=userid;pwd=userpwd”MyConn.ConnectionString=Conn
7、StrIF MyConn.State=AdStateClosed THEN MyConn.OpenEND IF或MyConn.Open ConnStr关闭连接IF MyConn.State=AdStateOpen THEN MyConn.CloseEND IF释放连接SET MyConn=nothing,3.5 使用Connection对象返回记录集,DIM MyRSSET MyRS=Server.CreateObject(“ADODB.RECORDSET”)DIM SelectSQLStrSelectSQLStr=“select.”MyRS=MyConn.Execute SelectSQLS
8、tr或MyRS.Open SelectSQLStr,MyConn,3.6 使用Connection对象进行数据更新,DIM SQLStrSQLStr=“update”或SQLStr=“insert into”或SQLStr=“delete from”MyConn.BeginTrans MyConn.Execute SQLStrIF err.number 0 THEN MyConn.RollbackTransELSE MyConn.CommitTransEND IF,第三节 ADO.NET应用开发,ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,
9、用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。,一、ADO.NET简介,ADO.NET是一组用于和数据源进行交互的面向对象类
10、库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。,ADO.NET简介,ADO.NET是一种基于标准的程序设计模型,可以用来创建分布式应用以实现数据共享。在ADO.NET中,DataSet占据重要地位,它是数据库里部分数据在内存
11、中的拷贝。与ADO中的RecordSet不同,DataSet可以包括任意个数据表,每个数据表都可以用于表示自某个数据库表或视图的数据。DataSet驻留在内存中,且不与原数据库相连,即无需与原数据库保持连接。完成工作的底层技术是XML,它是DataSet所采用的存储和传输格式。在运行期间,组件(如某个业务逻辑对象或 web表单)之间需要交换DataSet中的数据。数据以XML文件的形式从一个组件传输给另一个组件,由接收组件将文件还原为DataSet形式。DataSet的有关方法与关系数据模型完全一样。,二、ADO.NET包含的对象,2-1 ADO.NET包含的对象,SqlConnection
12、对象 和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。SqlCommand对象与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个 command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据
13、的命令。,2-2 ADO.NET包含的对象,SqlDataReader对象 许多数据操作要求你只是读取一串数据。data reader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从data reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要 操作数据,更好的办法是使用DataSet。,2-3 ADO.NET包含的对象,DataSet对象 DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而 DataTable包含列和行,就象一个普通的数据
14、库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。,2-4 ADO.NET包含的对象,SqlDataAdapter对象某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data adapter通过断开模型来帮助你方便的完成对以上情况的处理。当
15、在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data adapter 填充(fill)DataSet对象。data adapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,data adapter包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。你将为DataSet中的每一个 table都定义data adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉data adapter什么时候装载或者写入到数据库。,.NET数据提供程序,.NET框架提供了四种数据提供程序(.N
16、ET Data Provider),它们分别是:1.SQL Server.NET Framework Data Provider命名空间:System.Data.SqlClient;2.OLE DB.NET Framework Data Provider命名空间:System.Data.OleDb;3.ODBC.NET Framework Data Provider命名空间:System.Data.ODbc;4.ORACLE.NET Framework Data Provider命名空间:System.Data.OracleClient;每种Data Provider都包含四种对象:Conne
17、ction对象:提供与数据源的连接 Command对象:使用户能够访问用于返回数据、修改数据、运行存储过程等的数据库命令DataReader对象:从数据源中提供高性能的数据流DataAdapter对象:提供连接DataSet和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet数据的更改与数据源保持一致。,三、ADO.NET的体系结构,换个角度看ADO.NET体系结构,四、ADO.NET中数据库连接,System.Data.SqlClient.SqlConnection常用的一些连接字符串(C#代码):Sql
18、Connection conn=new SqlConnection(Server=(local);Integrated Security=SSPI;database=Pubs);SqlConnection conn=new SqlConnection(server=(local)NetSDK;database=pubs;Integrated Security=SSPI);SqlConnection conn=new SqlConnection(Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;);S
19、qlConnection conn=new SqlConnection(data source=(local);initial catalog=xr;integrated security=SSPI;persist security info=False;workstation id=XURUI;packet size=4096;);SqlConnection myConn=new SqlConnection(Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer);S
20、qlConnection conn=new SqlConnection(uid=sa;pwd=passwords;initial catalog=pubs;data source=127.0.0.1;Connect Timeout=900);,ADO.NET中数据库连接,System.Data.OleDb.OleDbConnection常用的一些连接字符串(C#代码):OleDbConnection conn=new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:MyWeb8105GrocerToGo.mdb);O
21、leDbConnection conn=new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=grocertogo.mdb;);OleDbConnection conn=new OleDbConnection(Provider=MSDAORA;Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=yes);OleDbConnection conn=new OleDbConnection(
22、Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:binLocalAccess40.mdb);OleDbConnection conn=new OleDbConnection(Provider=SQLOLEDB;Data Source=MySQLServer;Integrated Security=SSPI);,ADO.NET中数据库连接,System.Data.OracleClient.OracleConnection常用的一些连接字符串(C#代码):OracleConnection myConn=new System.Data.OracleCli
23、ent.OracleConnection(Data Source=Oracle8i;Integrated Security=yes);其他厂商提供的数据库连接:DB2Connection myConn=new IBM.Data.DB2.DB2Connection(DATABASE=SAMPLE;UID=;PWD=;);DB2Connection myConn=new IBM.Data.DB2.DB2Connection(DATABASE=SAMPLE);,ADO.NET中数据库连接,System.Data.Odbc.OdbcConnection常用的一些连接字符串(C#代码):OdbcConn
24、ection conn=new OdbcConnection(Driver=SQL Server;Server=MyServer;Trusted_Connection=yes;Database=Northwind;);OdbcConnection conn=new OdbcConnection(Driver=Microsoft ODBC for Oracle;Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes);OdbcConnection conn=new OdbcConnection(Driver=Micr
25、osoft Access Driver(*.mdb);DBQ=c:binnwind.mdb);OdbcConnection conn=new OdbcConnection(Driver=Microsoft Excel Driver(*.xls);DBQ=c:binbook1.xls);OdbcConnection conn=new OdbcConnection(Driver=Microsoft Text Driver(*.txt;*.csv);DBQ=c:bin);OdbcConnection conn=new OdbcConnection(DSN=dsnname);,4.2 ADO.NET数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 开发 客户端 技术 工具
链接地址:https://www.31ppt.com/p-6578507.html