关系数据库提供的应用程序接口.ppt

上传人:大米 文档编号:569567269 上传时间:2024-07-30 格式:PPT 页数:46 大小:855.81KB
返回 下载 相关 举报
关系数据库提供的应用程序接口.ppt_第1页
第1页 / 共46页
关系数据库提供的应用程序接口.ppt_第2页
第2页 / 共46页
关系数据库提供的应用程序接口.ppt_第3页
第3页 / 共46页
关系数据库提供的应用程序接口.ppt_第4页
第4页 / 共46页
关系数据库提供的应用程序接口.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《关系数据库提供的应用程序接口.ppt》由会员分享,可在线阅读,更多相关《关系数据库提供的应用程序接口.ppt(46页珍藏版)》请在金锄头文库上搜索。

1、第十二章第十二章关系数据库关系数据库提供的提供的应用程序接口应用程序接口12.1ODBC12.2OLE DB12.3ADO第12章关系数据库提供的应用程序接口本章重点介绍了ODBC(OpenDatabaseConnectivity,开放数据库互连)的特点、体系结构、ODBCDSN的创建过程,以及UDA(UniversalDataAccess,一致数据访问)技术的两层标准接口OLEDB和ADO。OLEDB是系统级的编程接口,它定义了一组COM接口,这组接口封装各种数据库系统的访问操作,为数据处理方和数据提供方建立了标准。OLEDB还提供了一组标准的服务组件,用于提供查询、缓存、数据更新、事务处理

2、等操作。ADO是应用层级的编程接口。它利用OLEDB提供的COM接口来访问数据,因此它适合于C/S(客户/服务器)系统和基于Web的应用,尤其在一些脚本语言中进行数据库访问操作是ADO主要优势。121ODBC12.1.1ODBC概述ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它提供了一组规范和一组对不同类型的数据库进行访问的标准API(应用程序编程接口)函数。这 些 API利 用 SQL来 完 成 其 大 部 分 任 务 。 一个基于OD

3、BC的应用程序对数据库的操作不依赖任何DBMS,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。即不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。一个完整的ODBC由下列几个部件组成:1ODBC应用程序(Application)ODBC应用程序是用一般程序设计语言(如C语言等)编写的程序。2.ODBCAPI函数3ODBC管理器(Administrator) 该程序位于Windows95控制面板(ControlPanel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据

4、源。4ODBC驱动程序管理器(DriverManager) 驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。应用程序不能直接调用ODBC驱动程序,只可调用ODBC驱动程序管理器提供的ODBCAPI函数,再由ODBC驱动程序管理器负责把相应的ODBC驱动程序加载到内存中,同时把应用程序访问数据的请求传送给ODBC驱动程序。5ODBC驱动程序ODBC驱动程序具体负责把SQL请求传送到数据源的DBMS中,再把操作结果返回到ODBC驱动程序管理器。后者在把结果传送至客户端的应用程序。 每种支持ODBC的数据库都拥有自己的驱动程序,一种驱动程序只能固定地与对应的数据库通信,不能访问其他数据库

5、。6数据源 数据源就是需要访问的数据库。 应用程序若要通过ODBC访问一个数据库,则首先要创建一个数据源,主要工作是指定数据源名(DSN,datasourcename),使其关联一个目的数据库以及相应的ODBC驱动程序。所以说,数据源实际上是一种数据连接的抽象,指定了数据库位置和数据库类型等信息。DSN有三种类型:(1)系统DSN即是面向系统全部用户的数据源, 系统中的所有用户都可以使用。(2)用户DSN即是仅面向某些特定用户的数据源, 只有通过身份验证才能连接。(3)文件DSN即是用于从文本文件中获取数据,提供多用户访问。 各部件之间的关系如下: 工作流程: 应用程序要访问一个数据库,首先必

6、须用ODBC管理器注册一个数据源。ODBC管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。应用程序将已创建好的数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接,为访问数据库做好准备。在ODBC中,ODBCAPI函数不能直接访问数据库的,必须通过ODBC驱动程序管理器与数据库交换信息。ODBC驱动程序管理器在应用程序和数据源之间起着转换与管理的作用。 12.1.2 创建ODBC DSN创建ODBCDSN是通过使用ODBC管理器来进行。下面就介绍用ODBC管理器来创建AccessDSN的操作步骤。1创建AccessDSN(1)单击

7、Windows任务栏的“开始”按钮,选择“设置”“控制面板”,展开“管理工具”,双击“数据源(ODBC)”图标,打开“ODBC数据源管理器”对话框窗口,如图12.1。图12.1“ODBC数据源管理器”对话框(2)在“ODBC数据源管理器”对话框中,选择“系统DSN”选项卡。如图12.2。图12.2“ODBC数据源管理器”对话框 (3)单击“添加”按钮,打开下图的“创建新数据源”对话框窗口。列表框里列出了对应于不同数据库的许多驱动程序名。不同的驱动程序名就对应创建不同的DSN。这里选择“MicrosoftAccessDrive(*.mdb)”,表示创建AccessDSN。图12.3“创建新数据源

8、”对话框(4)单击“完成”按钮,弹出“ODBCMicrosoftAccess安装”对话框,如图12.4所示。在“数据源名”文本框中输入一个DSN名字。本例输入为“Access_1”。图12.4“ODBCMicrosoftAccess安装”对话框【说明】 l搜索已创建的数据库,表示刚创建的DSN与这个数据库对应。 l“创建”按钮,将弹出“新建数据库”对话框,用于创建新的数据库,与刚创建的DSN对应。 l“修复”或“压缩”按钮,用于修复或压缩现有的数据库。 l“高级”按钮,将弹出“设置高级选项”对话框,用于输入登录密码和密码,给以后的操作带来便利。(5)在图12.4“ODBCMicrosoftAc

9、cess安装”对话框中,单击“确定”按钮,返回“ODBC数据源管理器”对话框,如下图12.5所示。在“系统数据源”列表中,可以看到新创建的DSN和对应的数据库驱动程序名已出现在列表中。单击此对话框中的“确定”按钮。这样创建连接到Access数据库的DSN的操作以完成。图12.5“ODBC数据源管理器”对话框2创建SQLServerDSN(1)操作同前述的1)、2),直到弹出如下图12.6的“创建新数据源”对话框窗口,在“名称”列表中选择“SQLServer”。图12.6“创建新数据源”对话框(2)根据提示一步一步的进行设置即可。122OLEDBUDA(UniversalDataAccess,一

10、致数据访问)技术包括OLEDB和ADO两层标准接口。OLEDB是系统级的编程接口,它定义了一组COM接口,这组接口封装各种数据库系统的访问操作,为数据处理方和数据提供方建立了标准。OLEDB还提供了一组标准的服务组件,用于提供查询、缓存、数据更新、事务处理等操作。因此,数据提供方只需进行一些简单的数据操作,数据处理方就可获得全部的数据控制能力。ADO是应用层级的编程接口。它利用OLEDB提供的COM接口来访问数据,因此它适合于C/S(客户/服务器)系统和基于Web的应用,尤其在一些脚本语言中进行数据库访问操作是ADO主要优势。 图12.7显示了统一数据访问的软件层次模型图12.7UDA的层次模

11、型如图所示,应用程序既可以通过ADO访问数据,也可以直接通过OLEDB访问数据,而ADO也是通过OLEDB访问底层数据的。可以说UDA(一致数据访问)技术的核心是OLEDB。OLEDB建立了数据访问的标准接口,它把所有的数据源经过抽象而形成行集(rowset)的概念。OLEDB模型主要包括如下一些COM对象:(1)数据源(DataSource)对象。它对应于一个数据提供者,它负责管理用户权限、建立与数据源的连接等初始操作。(2)会话(Session)对象。在数据源连接的基础上建立会话对象,会话对象提供了事务控制机制。(3)命令(Command)对象。数据使用者利用命令对象执行各种数据操作,如查

12、询、修改命令等。(4)行集(Rowset)对象。提供了数据的抽象表示,它可以是命令执行的结果,也可以有会话对象产生,它是应用程序主要的操作对象。123ADOOLEDB的对象模型简单、灵活。下面从应用层角度出发,介绍ADO技术。 123. 1 ADO技术 ADO对象模型定义了一组可编程的自动化对象,可应用于各种支持自动化特性的脚本语言。与一般的数据库接口相比,ADO可更好的用于网络环境,通过优化技术,它尽可能的降低网络流量;ADO的另一个特性是使用简单,因为它是面向高级用户的数据库接口,而且使用一组简化的接口用以处理各种数据源。下面先给出ADO的对象模型图:图12.8ADO的对象模型图在ADO模

13、型中,主体对象只有三个:Connection、Command、Recordset,其他四个集合对象Errors、Propertie、 Parameters和 Fields分 别 对 应 Errors、Propertie、Parameters和Fields对象,这些对象组成了ADO对象模型。典型的ADO应用是:(1)使用Connection对象与数据源建立连接;(2)然后用一个Command对象给数据库发出操作命令;(3)Recordset对象对结果集数据进行维护或者浏览等操作。Command命令所使用的命令语言与底层所使用的OLEDB数据源有关,不同的数据源可以使用不同的命令语言,对于关系型数

14、据库,通常使用SQL作为命令语言。Command对象是可选对象,它是否有效取决于OLEDB数据提供者是否实现了Icommand接口。下面对ADO的各个对象进行讨论。(1)Connection对象。利用Connection对象可以实现与数据源建立连接。(2)Command对象。Command对象代表一个操作命令,主要是通过调用其各种方法来执行针对数据源的有关操作。(3)Recordset对象。Recordset对象代表一个表的记录集或命令执行的结果,在记录集中,总有一个当前记录。记录集是ADO管理数据的基本对象,它是一种表状结构,每一行对应一个记录(Record),每一列对应一个域(Field)

15、。Recordset对象也可通过游标对记录进行访问,在ADO中,游标分为四种:静态游标。提供对数据集的一个静态拷贝,允许各种移动操作,包括前移、后移等等,但其他用户所做的操作反映不出来。动态游标。允许各种移动操作,包括前移、后移等等,并且其他用户所做的操作直接反映出来。前向游标。允许各种前向移动操作,不能向后移动,并且其他用户所做的操作直接反映出来。键集(Keyset)游标。类似于各种动态游标,也能看到其他用户所作的数据修改,但不能看到其他用户新加的记录,也不能访问其他用户删除的记录。ADO提供了两种的记录修改方式。一种为立即修改方式,一旦调用Update方法,则对数据的修改也立即更新底层的数

16、据源;一种为批修改方式,对数据的修改仅局限于缓存中进行,适当时候才用UpdatebBatch方法把所有的修改去更新底层的数据源。递交之后,可用Status属性检查数据冲突。Recordset对象是ADO数据操作的核心。它既可以作为Connection对象或Command对象执行特定方法的结果数据集;也可独立于这两个对象而单独使用。 1232 在VB 中使用ADO控件来访问数据库下面介绍如何使用ADO来访问数据库。VisualBasic(VB)是一种面向对象的可视化编程工具,具有简单易学、灵活方便等特点,且提供方便使用的API函数集和工具集。前端的VB与后端的数据库相结合,能够实现高效的客户/服

17、务器方案。本书后面在介绍通过ODBCDSN进行应用程序开发时,主要以VB来作为应用程序的开发语言。VB可使用的控件分成两类:(1)内部控件,是一些常用的控件,总是出现在工具箱中;(2)ActivexX控件或可插入对象,不直接出现在工具箱中。但可把他们添加到工具箱后使用。1数据连接对象介绍Visual Basci 6.0提供了一个新的数据库接对象:ADODB,简称ADO。ADO对象中最常用的属性是Connection和Recordset。Connection属性实现连接对象,它可以是SQLServer,Oracle,Access,或者ODBC等;Recordset对象实现为当前ADO对象所连接的

18、表进行各种操作。微软公司提供了一个控件Adodc控件,它是一个封装了ADODB对象大部功能的控件,不是VB6.0内部的部件,属于外部控件。因此,当你需要它的时候,你必须调用“部件”对话框,将它加入到工具箱中,方法如下:进入VB,右击工具箱,在弹出的菜单中选择“部件”窗体中选择“控件”选项卡,如图12.9。然后在控件列表框选择下列控件(打勾表示选中):MicrosoftADODataContrl6.0(SP4)(ODLEDB);MicrosoftDataGridDataContrl6.0(SP4)(ODLEDB)。图12.9“部件”窗体 单击“确定”按钮,选中的ADO控件将添加到工具箱,如图12

19、.10所示。图12.10把ADO控件添加到工具箱中2ADODB对象连接连接ACCESS数据库要使用ADODB对象连接,你首先在VB模块或窗体声明一个新的ADODB对象,然后使用这个新的ADODB对象设置 数据源,例如我们要连接到ACCESS数据库xsd1,方法如下:DimconAsNewADODB.Connection定义一个名为con的ADODB连接对象con.Open Provider=Microsoft.Jet.OLEDB.4.0;DataSource=E:asscesxsd1.mdb;Persist Security Info=False 打开连接con对象的open方法就是打开一个数

20、据连接,“Provider”是指数据连接提供程序,它是微软公司提供的一套数据连接对象,当连接到不同的数据库,你需要使用不同的数据连接对象。上面就是指示con对象连接到Access数据库,“Datasource”是指你的Access数据库所在的路径。上面的连接方法是把数据连接指向绝对路径。我们开发一个项目的时候是不用绝对路径的,而是使用相对路径,这样的好处是当你的程序移动到其它盘符或电脑的时候,程序还可以运行。VB中有一个对象,它是指当前的程序:app对象,app对象里有一个属性是指当前程序所在的路径“app.Path”,上面的连接可以这样改为:con.Open Provider=Microso

21、ft.Jet OLE DB 4.0;Data Source= & App.Path & xsd1.MDB;Persist Security Info=False (2)连接SQL Server数据库 当你的程序后台是SQL Server数据库时,你要连接你所指定的数据库,你必须首先启动SQL服务器,然后才可以连接到你所需要的数据库。连接SQL Server数据库,没有路径之分。有两种连接方法,一种是以WINDOWNT集成安全模式;另一种是指定用户名和密码的方式。SQL Server数据库本身自带几个数据库,我们就以它自带的数据库为例,设置连接。 以WINDOWNT集成安全模式的连接方法如下:

22、Dim con As New ADODB.Connectioncon.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Northwind以SQLServer数据库自带的帐号“sa“登录连接(它默认无密码): Dim con As New ADODB.Connectioncon.OpenProvider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=saPWD=;InitialCatalog=Northwind3ADODC控件

23、连接ADODC控件是一个封装了ADODB对象大部功能的控件,上面已经说明调用该控件的方法。只要你把ADODC控件添加到你的程序中,就可以使用它来操作数据库。在使用ADODC控件进行数据库操作之前,得设置它的连接属性:“ConnectionString”,该属性是指示ADODC控件所要使用的数据连接提供程序及其数据库。设置其方法有两种:第一种方法,是直接调用前面创建的DSN数据源或是直接在属性面板里的“ConnectionString”属性进行适时连接,方法如下:在属性面板里找到“ConnectionString”属性,点击其右边的按钮,将出现一个“属性页”对话框,如下图12.11所示。 选择“

24、UseConnectionString”,点击右边的“Build”按钮,则出现“数据连接属性”对话框,如图12.12所示。图12.11“属性页”对话框图12.12“数据连接属性”对话框选择你所需的连接数据提供程序。当你需要连接到Access数据库时,选择“MicrosoftJet4.0OLEDBProvider”,点击“下一步”则跳转到“连接”页,如图12.13所示,单击“选择或输入数据库名称(D)”后面的“”按钮,选择你的数据库所在的路径。当数据库设置有密码时,在密码处输入密码。点击“测试连接”,当连接成功时,则返回一个连接成功的对话框,否则将显示其错误。:图12.13选择你的数据库所在的路

25、径第二种方法是在程序里设置其属性,例如有一个名为“adodc1”的adodc控件,设置如下:Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path&NWIND.MDB;PersistSecurityInfo=False如是SQLServer数据库,则更改其属性即可。4把ADO对象连接的数据库表填充到RecordSet对象前 面 我 们 提 到 过 ADO其 重 要 的 一 个 对 象 :“Recordset”,它是你所要操作的结果集。我们设置好ADO的连接属性后,必须设置其recordse

26、t对象。Recordset对象有很多属性及方法,以下我们会逐步的了解其常用的属性和方法。使用ADO操作数据库的方法如下:(1)ADODB对象 创建一个工程,在其窗体中添加中一个“DataGrid”控件,用来展示程序返回的结果;一个ADO控件,用于记录的选择。如图12.14所示。图12.14嵌入ADO控件的窗体 在窗体的“load”事件中添加如下代码:PrivateSubForm_Load()Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path&xsd1.MDB;PersistSecuri

27、tyInfo=FalseAdodc1.CommandType=adCmdText命令类型Adodc1.RecordSource=select*fromordersSetDataGrid1.DataSource=Adodc1EndSub程序中定义了一个名为“rs”的Recordset对象,Recordset对象的Open方法的第一个参数是所要操作的表或SQL语句,第二个参数是连接对象,第三个是指示所要进行的操作,后面的二个可省。Set是VB6.0中的关键字,当你在程序代码中要把某个控件连接到表的某个字段时,该关键字不可缺少。 设置ADO控件的属性,使其与数据库连接。 ()在 数 据 控 件 Ad

28、odc1的 属 性 窗 口 中 单 击ConnectingString属性单击“”按钮,弹出“属性页”对话框,如图12.15所示。在其中选择“UseODBCDataSourceName”,并从其列表中选择“Acces_1”或可直接输入,单击“确定”。这样可使数据控件Adodc1与Access数据库xsd1连接起来。图12.15“属性页”对话框() 在数据控件Adodc1的属性窗口中单击RecordSource属性。然后单击“”按钮,弹出“记录源”对话框。在“CommandType”中选择2-adCmdTable。在“TableStoredProcedureName”中选择或直接输入“Ask_1

29、”,单击“确定”按钮。这样使数据控件Adodc1进一步与数据库xsd1中的Ask_1表发生关联。如下图12.16所示。图12.16设置“记录源”对话框 ()设置表格控件DataGrid1的各项属性:置DataSource属性为Adodc1,使表格控件与数据源连接;置AllowAddNew属性为True,允许插入新记录;置AllowDelete属性为True,允许删除记录;置AllowUpdate属性为True,允许更新记录。 运行工程,结果如下图12.17所示。图12.17ADO控件运用示例12.3.3 程序中ADO数据控件及绑定控件的属性设置以上的工作大部分是设计界面中进行的,若要在运行时实

30、现动态变化,则须在程序中对ADO数据控件及绑定控件的属性进行设置。主要设置ADO数据控件的ConnectionString属性、RecordSource属性,以及绑定控件的DataSource等属性。例如:在窗体的“load”事件中添加如下代码:PrivateSubForm_Load()WithadodcAdodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Adodc1;DataSource=(local)

31、.RecordSource=”Select*FromAsk_1”EndWithSetDataGrid1.DataSource=adodcAdodc1SetDataGrid1.AllowAddNew=TrueSetDataGrid1.AllowDelete=TrueSetDataGrid1.AllowUpdate=TrueEndSub 12.3.4 操作数据库通过上面的介绍,相信大家已经了解怎么连接数据源,并简单地把所要操作的表填到RecordSet对象。经常用来操作数据库的控件有:TextBox,ComboBox控件,DataGrid控件等。它们都能和数据库连接的控件,均有DataSource属性,DataField属性。如是连接到ADODB对象, 则把DataSource属性设置为ADODB所连接到的RecordSet对象;DataField属性用于设置为你所需表的字段;如是adodc控件,第一个属性设置为adodc控件,第二个属性设置为你所需的表的字段。当你把控件连接到数据库相关的字段后,你即可运用该控件操作数据库。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号