您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 数据库应用开发客户端开发技术及工具
第一节ODBC应用与开发学习目标:•什么是ODBC?•ODBC的体系结构;•ODBC的应用特色;•ODBC操纵。一、什么是ODBC?1、ODBC的概念ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(ApplicationProgrammingInterface,应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一、什么是ODBC?2、ODBC技术背景史前API后来CLI(Call-LevelInterface)再后来ODBC再后来OLE新世纪终于到来ADO.NET再后来ADO二、ODBC的体系结构1、ODBC的组成结构应用程序ODBCAPIODBC驱动程序管理器ODBC驱动程序ODBC驱动程序ODBC驱动程序数据源数据源数据源二、ODBC的体系结构2、各层的功能三、应用ODBC的优势1、应用ODBC保证了数据库的独立性2、应用ODBC保证了数据库之间的互操作能力四、ODBC操纵重点:如何创建ODBC数据源第二节ADO应用与开发学习目标:什么是ADO?ADO对象及其应用!ADO对象模型及其应用特征一、ADO概述1、什么是ADO?ADO,即ActiveXDataObjects,是一种应用广泛的数据库访问技术,它基于OLEDB技术,是对OLEDB面向对象的封装。OLEDB与ODBC相比,在底层的数据库引擎和每一个独立的数据库引擎之间的接口存在着较大的不同。在ODBC中,每一种类型的数据库都必须有相应的驱动器――动态链接库(DLL),ODBC引擎使用该DLL打开相应类型的数据库并进行记录的读写修改等操作。OLEDB同样需要驱动器,但不同的是,OLEDB的驱动器是通过ActiveX实现的。一个ActiveX就定义了用来实现特定接口的类,这种方式减少了程序和数据库引擎之间的层次,因而提高了数据库编程的速度。ADO实际上就是一个ActiveX对象集,封装了多种对象方法属性。1.1ADO、OLEDB以及ODBC的关系其他对象ADOODBCOLEDBODBC/OLEDB桥ODBC驱动程序OLEDB驱动程序数据库图三ADO、OLEDB以及ODBC的关系1.2ADO基本操作ADO提供了以下的操作:–连接到数据源;–指定访问数据源的命令;–执行命令;–如果这个命令使数据按表中的行的方式返回,则将这些行存储在易于检查、操作或更改的缓存(CASHE)中;–适当情况下,可使用缓存行中的更改内容来更新数据源;–提供常规的方法检测错误。二、ADO对象模型及其应用特征ParametersConnectionCommandParameterRecordsetFieldsFieldErrorsError图四ADO对象模型图2.2ADO对象的功能说明其中,Connection,Command,Recordset和Fields对象还有Properties集合。Connection对象代表打开的、与数据源的连接;Command对象定义了将对数据源执行的指定命令;Recordset对象表示的是来自基本表或命令执行结果的记录全集;Errors对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息;Fields对象代表使用普通数据类型的数据的列的集合;Parameter对象代表与基于参数化查询或存储过程的Command对象相关联的参数或自变量;Property对象代表由提供者定义的ADO对象的动态特征;2.3ADO的优点使用方便灵活;使用简单;面向对象的体系结构;对象的共享机制。三、Connection对象1、Connection对象的作用Connection对象是数据库与外界沟通的唯一桥梁,所有对数据库的操作都必须依赖于Connection对象。一个Connection对象代表了一个程序到数据库的连接。3.2Connection对象的属性表一Connection对象的属性属性说明Attributes设定Connection对象控制事务处理的特性CommandTimeout指示在终止尝试和产生错误之前执行命令期间需等待的时间ConnectionString包含用于建立连接数据源的信息ConnectionTimeout指示在终止尝试和产生错误前建立连接期间所等待的时间CursorLocation设置或返回游标服务的位置DefaultDatabase可设置或返回指定Connection对象上默认数据库的名称IsolationLevel可设置Connection对象的隔离级别Mode可设置或返回当前连接上提供者正在使用的访问权限。Mode属性只能在关闭Connection对象时方可设置Provider可设置或返回连接提供者(OLEDB)的名称,如果没有指定提供者,该属性将默认为MSDASQL(MicrosoftOLEDBProviderforODBC)State说明其对象状态是打开或是关闭,可为AdStateClosed或AdStateOpenVersion返回ADO执行的版本号3.3Connection对象的方法表二Connection对象的方法方法说明BeginTrans开始新事务CommitTrans保存任何更改并结束当前事务RollbackTrans取消当前事务中所作的任何更改并结束事务Open打开到数据源的连接Close关闭数据库连接Execute执行指定的查询、SQL语句、存储过程或特定提供者的文本等内容3.4Connection对象应用示例(ASP)定义及实例化–DIMMyConn–SETMyConn=Server.CreateObject(ADODB.CONNECTION)打开连接–DIMConnStr–ConnStr=“DSN=mydsn;uid=userid;pwd=userpwd”–MyConn.ConnectionString=ConnStr–IFMyConn.State=AdStateClosedTHEN–MyConn.Open–ENDIF或MyConn.OpenConnStr关闭连接–IFMyConn.State=AdStateOpenTHEN–MyConn.Close–ENDIF释放连接–SETMyConn=nothing3.5使用Connection对象返回记录集DIMMyRSSETMyRS=Server.CreateObject(“ADODB.RECORDSET”)DIMSelectSQLStrSelectSQLStr=“select….”MyRS=MyConn.ExecuteSelectSQLStr–或MyRS.OpenSelectSQLStr,MyConn3.6使用Connection对象进行数据更新DIMSQLStrSQLStr=“update……”–或SQLStr=“insertinto……”–或SQLStr=“deletefrom……”MyConn.BeginTransMyConn.ExecuteSQLStrIFerr.number0THENMyConn.RollbackTransELSEMyConn.CommitTransENDIF第三节ADO.NET应用开发ADO.NET的名称起源于ADO(ActiveXDataObjects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICHXML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。一、ADO.NET简介ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。ADO.NET简介ADO.NET是一种基于标准的程序设计模型,可以用来创建分布式应用以实现数据共享。在ADO.NET中,DataSet占据重要地位,它是数据库里部分数据在内存中的拷贝。与ADO中的RecordSet不同,DataSet可以包括任意个数据表,每个数据表都可以用于表示自某个数据库表或视图的数据。DataSet驻留在内存中,且不与原数据库相连,即无需与原数据库保持连接。完成工作的底层技术是XML,它是DataSet所采用的存储和传输格式。在运行期间,组件(如某个业务逻辑对象或asp.netweb表单)之间需要交换DataSet中的数据。数据以XML文件的形式从一个组件传输给另一个组件,由接收组件将文件还原为DataSet形式。DataSet的有关方法与关系数据模型完全一样。二、ADO.NET包含的对象2-1ADO.NET包含的对象SqlConnection对象–和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。SqlCommand对象–与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。2-2ADO.NET包含的对象SqlDataReader对象–许多数据操作要求你只是读取一串数据。datareader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从datareader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。2-3ADO.NET包含的对象DataSet对象–DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-childrelationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有DataProviders使用的对象,因此它并不像DataProvider一样需要特别的前缀。2-4ADO.NET包含的对象SqlDataAdapter对象–某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Dataadapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Dataadapter填充(fi
本文标题:数据库应用开发客户端开发技术及工具
链接地址:https://www.777doc.com/doc-3974748 .html