《ADO数据库编程》PPT课件.ppt_第1页
《ADO数据库编程》PPT课件.ppt_第2页
《ADO数据库编程》PPT课件.ppt_第3页
《ADO数据库编程》PPT课件.ppt_第4页
《ADO数据库编程》PPT课件.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章 ADO数据库编程,本章要点: ADO的概念及其对象组成 ADO各对象的作用 利用ADO连接到各种数据库的方法 ADO各对象的属性、方法的含义及其使用方法 利用ADO编写数据库应用程序的方法,12.1 ADO对象模型概述,12.1.1 ADO的概念 ADO(ActiveX Data Object),是微软最新的数据访问组件(微软数据访问组件简称MDAC)的一部分。 是Microsoft最新的数据访问接口,通过它可以访问多种类型的数据库。 ADO是基于OLE DB(对象链接和嵌入数据库)之上的面向对象的数据访问模型,OLE DB是Microsoft开发的一种高性能的、基于COM的数据访问技术,其作用是向应用程序提供一个统一的数据访问方法,而不需要考虑数据源的具体格式和存储方式。 通过ADO的方法和属性可以为应用程序提供统一的数据访问方法和接口。,使用ADO必须先加载:有两种类型库,ADODB和 ADOR,分别包含在两个动态连接库MSADO15.DLL和 MSADOR15.DLL中,引用这两种类型库的方法: 【工程】【引用】选Microsoft ActiveX Data Object 2.7 Library(ADODB)或Microsoft ActiveX Data Object RecordSet2.7 Library(ADOR)。 ADODB功能更强大,大多用此。,12.1.2 ADO模型的对象,ADO由七个基本对象组成,这七个基本对象分别是Connection、Recordset、Command、Field、Property、Parameter和Error,另外包含Errors、Parameters、Fields、Properties四个集合对象。 P292表12.14,1基本对象 (1)Connection对象 (2)Recordset对象 (3)Command对象 (4)Field对象 (5)Property对象 (6)Parameter属性 (7)Error对象 2集合对象 (1)Errors集合对象 (2)Parameters对象 (3)Fields对象 (4)Properties对象 3事件 (1)ConnectionEvents类事件 (2)RecordsetEvents类事件,12.1.3 ADO模型的编程模型,ADO提供的对象可以完成以下活动: (1)连接到数据源,主要使用Connection对象。可选择开始一个事务。 (2)执行SQL命令,使用Command对象。 (3)可选择在SQL命令中指定列、表和值作为变量参数,主要使用Parameter对象。 (4)执行命令,主要使用Command、Connection或Recordset对象。 (5)如果命令是以按行返回的记录集,则将行存储在缓存中,主要使用Recordset对象。 (6)可选择创建缓存视图,以便能对数据进行排序、筛选和定位,主要使用Recordset对象。,(7)对记录集中的数据进行添加、删除或更改操作,主要使用Recordset对象。 (8)在适当情况下,使用缓存中的更改内容来更新数据源,主要使用Recordset对象。 (9)在使用事务之后,可以接受或拒绝在事务期间所作的更改,结束事务,主要使用Connection对象及事务处理方法。,12.2 Connection对象,使用Connection对象的集合、方法和属性可执行下列操作: (1)在打开连接前使用ConnectionString、 ConnectionTimeout和Mode属性对连接进行配置。 (2)设置CursorLocation属性以便调用支持批更新的“客户端游标提供者”。 (3)使用DefaultDatabase属性设置连接的默认数据库。 (4)使用IsolationLevel属性为在连接上打开的事务设置隔离级别。 (5)使用Provider属性指定OLE DB提供者。 (6)使用Open方法建立到数据源的物理连接。使用Close方法将其切断。 (7)使用Execute方法执行对连接的命令,并使用CommandTimeout属性对执行进行配置。,(8)可使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。 (9)使用Errors集合检查数据源返回的错误 (10)通过Version属性读取所使用的ADO执行版本。 (11)使用OpenSchema方法获取数据库纲要信息。,12.2.1 Connection对象的常用属性,1Attributes属性 2CommandTimeout属性 默认30秒 3ConnectionString属性:其值为String类型,为多个 由分号分隔的“argument=Value”语句。P292教材 P186童 4ConnectionTimeout属性:默认15秒 P186童 5CursorLocation属性 6DefaultDatabase属性 7IsolationLevel属性 8Mode属性 9Provider属性 :指定OLE DB数据或服务提供者的名称。 10State属性 11Version属性,12.2.2 Connection对象的常用方法,1BeginTrans方法格式如下: level = Connection.BeginTrans() 或 Connection.BeginTrans 2CommitTrans方法格式如下: Connection.CommitTrans 3RollbackTrans方法格式如下: Connection.RollbackTrans 4Open方法语法 格式如下: Connection对象名.Open ConnectionString, UserID, Password, OpenOptions,5Close方法:P188童 Connection对象名.Close 6Execute方法:P188童 格式1:Connection对象名.Execute CommandText ,RecordsAffected,Options 格式2: Set recordset对象名= Connection对象名.Execute (CommandText, RecordsAffected,Options) 7Cancel方法 终止Execute或Open方法的调用 8OpenSchema方法,12.2.3 连接到数据库的方法,1通过DSN建立连接 (10-1) 【例12-1】为“教学”库建立两个DSN,分别是jiaoxue和SQLPubs,请编写一个连接到这两个DSN的程序。程序的设计界面如下图所示。然后执行时,单击“建立到SQLPubs的连接”将建立与SQLPubs DSN的连接,单击“建立到jiaoxue DSN的连接”将建立与jiaoxue DSN的连接。 题意分析:为建立连接,可先给Connection对象的ConnectionString属性赋值为需要建立连接的参数,然后执行Connection对象不带参数的Open方法,也可在调用Connection的Open方法时指定连接字符串。此题需注意连接到SQL DSN和连接到Microsoft Access DSN的区别。,ODBC(Open Database Connectivity)简介,是一种访问数据库的统一界面标准,应用程序不需要 考虑不同的数据格式,而采用一个统一的方法使用数 据库。 P93童,控制面板中的ODBC数据源管理器,ADO操作数据库的物理机制 P95童,RDBMS:Relational database management system 关系型数据库管理系统。 EMAIL服务器主要提供电子邮件信箱服务。 目录服务是用于在全球范围内查找用户和商业伙伴的强大的搜索工具。目录服务对于网络的作用就像白页对电话系统的作用一样。目录服务将有关现实世界中的事物(如人、计算机、打印机等等)的信息存储为具有描述性属性的对象。人们可以使用该服务按名称查找对象或者像使用黄页一样,可使用它们查找服务。,ODBC数据源(DSN)的配置,DSN可分成三种,分别如下: 系统DSN(SYSTEM DSN):这种DSN可以被登录到系统中的所有用户使用; 用户DSN(USER DSN):这种DSN是为特定用户建立的,只能被建立它的用户使用; 文档DSN(FILE DSN):用于文档的DSN。 Access数据库的系统DSN的配置 例:为前面建立的“教学”数据库建立一个系统DSN,DSN名为“jiaoxue”,使用的操作系统为Windows XP,具体步骤如下:,执行“ODBC数据源管理器” 执行【开始】【控制面板】窗口,在控制面板窗口中双击“性能维护”图标,再双击“管理工具”图标,然后再双击“数据源(ODBC)”图标,将会打开“ODBC数据源管理器”窗口。 选择数据源类型并添加数据源 在“ODBC数据源管理器”窗口中单击“系统DSN”页标头,再单击“添加”按钮,将会出现“创建新数据源”对话框。 选择驱动数据源的驱动程序 在“创建新数据源”对话框中,选中“Microsoft Access Driver(*.mdb)”后按“完成”按钮,将会出现 “ODBC Microsoft Access 安装”对话框。 设置数据源参数 在“数据源名”后的文本框中输入“jiaoxue”数据源名,在“说明”后的“文本框”中输入“教学数据库”说明信息,单击“选择”按钮。,将会出现 “选择数据库”对话框。在该对话框中选择“教学”数据库后按“确定”按钮。 完成 再在“ODBC Microsoft Access 安装”对话框按“确定”按钮,完成数据源的配置。,SQL Server数据库的系统DSN的配置,例:为SQL Server 2000自带的数据库Pubs建立一个系统DSN,DSN名为“SQLPubs”,使用的操作系统为Windows XP,具体步骤如下: 同Access数据源名的配置。 同Access数据源名的配置。 选择驱动数据源的驱动程序 为数据源命名并选择SQL服务器 设置登录ID和密码 选择数据库 测试数据源 完成,2直接使用数据库文件名称或数据源名称建立连接 (1)使用SQL Server普通安全模式建立到Pubs数据库的连接 :须提供用户名和密码 (2)SQL Server信任安全模式建立到Pubs数据库的连接:可不提供用户名和密码 【例12-2】直接建立到SQL Server 2000的数据库“Pubs”的连接和到当前目录下的Microsoft Access数据库“教学”的连接。程序的设计界面如图所示。运行时单击“建立到SQL Pubs数据库的连接”将以两种方法建立到SQL Server数据库Pubs的连接,单击“建立到Access教学数据库的连接”将以两种方式建立到Access数据库“教学”的连接。 (例10-2),12.2.4 通过打开的连接执行SQL语句,【例12-3】通过Connection的Execute方法来执行SQL语句,为当前目录下的“教学”数据库中的“学生表”添加一条记录,记录的“学号”和“姓名”值分别为“0001020”和“周小华”。(10-3) 题意分析:先采用直接使用数据库名的方法连接到Access数据库“教学”,然后通过调用Connection的Execute方法来执行SQL-Insert语句。,(a)执行前,(b)执行后,12.3 RecordSet对象,10.3.1 Recordset对象简介 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制 。 P193童 在ADO中定义了四种不同的游标类型: (1)动态游标 (2)键集游标 (3)静态游标 (4)仅向前游标 (ADO默认打开) 10.3.2 Recordset对象的属性 1AbsolutePage、PageCount与PageSize属性 2AbsolutePosition和RecordCount属性 3ActiveConnection属性 4CacheSize属性,5CursorLocation属性 6CursorType属性 7EditMode属性 8Filter属性 9LockType属性 10MaxRecords属性 12Sort属性 13Source属性 14State属性,12.3.3 Recordset对象的方法,1Cancel方法 P197童 格式: Object.Cancel 终止异步执行的Execute或Open方法的调用。 2CancelUpdate方法 格式: Recordset.CancelUpdate 3CancelBatch方法 格式: Recordset.CancelBatch AffectRecords 4NextRecordSet方法该命令的格式如下: 格式: SetRecordset2= Recordset1.NextRecordset( RecordsAffected ),5Open方法 格式: Recordset.Open Source,ActiveConnection, CursorType, LockType, Options 执行一条SQL语句查询或者调用数据库的存储过程,返回一个记录集。,6Resync方法 格式: Recordset.Resync AffectRecords, ResyncValues 7Save方法 格式: Recordset.Save FileName, PersistFormat 8UpdateBatch方法 格式: Recordset.UpdateBatch AffectRecords 9GetRows方法 格式: Array=Recordset.GetRows() 10Supports方法 格式: boolean = Recordset.Supports( CursorOptions ),12.3.4 访问Recordset对象字段的方法,12.3.5 Recordset对象应用实例,【例12-4】使用ADO的Recordset对象把当前目录下的“教学”数据库中的“学生表”中的数据显示出来。程序设计界面如图(a)所示。程序刚运行时,只有“连接”按钮可用,单击该按钮,将建立到当前目录下的“教学”数据库的连接,然后“连接”按钮不可用,“显示”按钮可用。单击“显示”按钮,将把“学生表”中的数据显示在MsFlexGrid控件中,同时“显示”按钮不可用,“关闭”按钮可用,如图(b)所示。单击“关闭”按钮,将关闭记录集和连接并结束程序。 (10-4),题意分析:本题要用MsFlexGrid控件显示表的内容,而MsFlexGrid控件并不是VB的标准控件,应该首先把它加载到VB的工程中,加载的方法是执行【工程】【部件】命令,在出现的部件对话框中选中“Microsoft FlexGrid Control 6.0”后按“确定”按钮。要在MSFlexGrid控件中显示数据表中的内容,可通过循环把表中的各字段的内容依次赋值到MsFlexGrid的TextMatrix属性中。,12.4 Command对象,12.4.1 Command对象简介 Command对象定义了将对数据源执行的指定命令。通过Command对象可以执行SQL语句、数据库中的存储过程等,虽然Connection对象的Execute方法也能够执行SQL语句,但Command对象还提供了参数化查询等专门的运行方式。 利用Command对象可以查询数据库中的记录以形成记录集,还可以更改数据库的结构。但由于数据提供者提供的功能不同,在引用某些Command集合、方法或属性时可能会产生错误,需要使用者查询相应的参考书籍。,12.4.2 Command对象的常用属性,1ActiveConnection属性 :指定与Command对象关联 的已打开的连接对象。 2CommandText属性:定义一个可执行的命令串。 3CommandTimeout属性 : 4CommandType属性:指定命令的类型。 7种值,其中前5个同 Options参数表的前5个。 P203童 5Prepared属性 6State属性 12.4.3 Command对象的常用方法 1Cancel方法:终止Execute方法 的调用。 2Execute方法 : 执行CommandText 中的查询。 P203童 下端,12.4.4 Command对象应用实例,【例12-5】已知“教学管理”数据库位于当前目录下,请使用Command对象查询出自动化专业的全部学生的学号、姓名和年级,并调用例12-4中的ShowData方法把查询结果显示出来。程序设计界面如图(a)所示。程序刚运行时,只有“连接”按钮可用,单击该按钮,将建立到当前目录下的“教学管理”数据库的连接,然后“连接”按钮不可用,“显示查询结果”按钮可用。单击“显示查询结果”按钮,将把查询结果的数据显示在MsFlexGrid控件中,同时“显示查询结果”按钮不可用,“关闭”按钮可用,如图(b)所示。单击“关闭”按钮,将关闭记录集、连接并结束程序。 (10-5),题意分析:可使用Command对象的Execute方法执行查询得到结果记录集,处理的一般步骤如下: (1)设置Command对象的ActiveConnection属性为所需要的连接对象名; (2)设置Command对象的CommandText属性为要执行的查询字符串; (3)设置Command对象的CommandType属性为要执行的命令类型; (4)调用Command对象的Execute方法执行查询(若是返回记录集的查询,可把结果赋值给一个记录集对象变量)。,【例12-6】给当前目录中的“教学”数据库中的“教师表”添加一条记录,记录值为05003,杨权,女,#09/22/69#,讲师,计算机学院,3855.50。要求使用Command对象。程序的运行界面如下图所示,程序运行时单击“连接并显示”命令将把“教师表”中的当前数据显示出来,如图(a)所示,单击“插入并显示”将显示插入一条记录后的“教师表”信息,如图(b)所示。(例10-6) 题意分析:可通过Command对象来执行一条SQL-INSERT命令,从而可以插入一条记录到相应的表中。在插入前和插入后把该表的内容分别显示出来以观察程序的运行结果。,12.5 Field对象和Fields集合,12.5.1 Field对象的常用属性 1ActualSize属性: 返回Field对象值的实际长度。 2Attributes属性: 3DefinedSize属性:确定Field对象的数据容量。 4Name属性:设置或返回Field对象名称。 5NumericScale属性 6OriginalValue属性 7Precision属性 8Type属性:设置或返回字段的类型。 9UnderlyingValue属性 10Value属性:设置或返回字段的值。,12.5.2 Field对象的常用方法,1AppendChunk方法 该方法的使用格式如下: Field.AppendChunk Data 2GetChunk方法 该方法的使用格式如下: variable = field.GetChunk( Size ) 12.5.3 Fields对象的常用属性 Fields对象是Field对象的集合。 Fields的属性Count:该属性用来返回Fields对象中包含的Field对象个数。如果Count属性为零,集合中将不存在对象。Fields集合对象的每个成员都有一个编号,从0开始,以Count属性值减1结尾。,12.5.4 Fields对象的常用方法,1Append方法:向fields中添加一个field对象 格式:fields.Append Name, Type, DefinedSize, Attrib 2Delete方法:要删除的field对象 格式:Fields.Delete Field 3Item方法:根据顺序号返回Fields集合中特定的Field成员 格式:Set Field= Fields.Item ( Index ) 【例12-7】编写一个程序,用来显示“教学”数据库中的“教师表”中的字段信息。程序设计界面如图(a)所示。程序运行时,在列表框中将显示出“教师表”的所有字段名,当在列表框中选中相应的字段时,该字段的长度、类型和字段值将分别显示在相应的文本框中,如图(b)所示。 (例10-7),题意分析:在Form_Load事件中,建立到“教学”数据库的连接并创建以“教师表”为基础的Recordset对象,然后通过一个循环把Fields集合中每个Field对象的Name属性添加到列表框中。程序运行时,当发生List1的Click事件时,将选中字段的属性DefinedSize、Type、Value值分别赋给相应的文本框的Text属性。,12.6 Error对象和Errors集合 P209童,12.6.1 Error对象的常用属性 1Description属性:错误的简要说明。 2NativeError属性:L型,错误代码。 3Number属性 :L型,错误类型 4Source属性 :C型,确定错误的原始对象或应用程序名称。 5SQLState属性 12.6.7 Errors对象的常用属性与方法 Count属性: 为Errors中包含的Error个数。 Clear方法:清除Errors中的Error对象。 如:Errors.Clear 【例12-8】,12.7 利用ADO Data控件进行数据库编程,12.7.1 ADO Data控件简介 1添加ADO Data控件 添加方法是:执行【工程】【部件】命令,将出现的“部件”对话框,在该对话框中选中“Microsoft ADO Data Control 6.0(OLEDB)”后按“确定”按钮。 2ADO Data控件的主要功能 (1)连接到一个本地数据库或远程数据库。 (2)从指定的数据库表或视图中提取记录构成记录集,或通过执行一个基于结构化查询语言(SQL)的查询来构成记录集,或执行存储过程来构成记录集。 (3)将字段的数值传递给数据绑定控件,可以在这些控件中显示或更改字段值。 (4)添加新的记录,或根据对显示在数据绑定控件中的数据的更改来更新一个数据库。,12.7.2 ADO Data控件的属性窗口,1“通用”属性页 建立连接字符串有三种方式,分别如下: (1)使用Data Link文件 (2)使用ODBC数据源名称 (3)使用连接字符串 2“身份验证”属性页 3“记录源”属性页,12.7.3 ADO Data控件的常用属性,1ConnectionString属性 2UserName属性 3Password属性 4RecordSource属性 5CommandType属性 6CursorLocation属性 7CursorType属性 8LockType属性 9Mode属性 10MaxRecords属性 11ConnectionTimeout属性 12CacheSize属性 13BofAction、EofAction属性,12.7.4 ADO Data控件的常用事件,1WillMove事件 2MoveComplete事件 3WillChangeField事件 4FieldChangeComplete 5WillChangeRecord事件 6RecordChangeComplete事件 7WillChangeRecordset事件 8RecordsetChangeComplete事件 9InfoMessage事件,12.7.5 常用的与ADO Data控件绑定使用的数据绑定控件,使用ADO Data控件与数据绑定控件开发数据库应用程序的一般步骤如下: (1)加载ADO Data控件并在界面上绘制该控件; (2)设置该控件的ConnectionString属性以连接到数据库; (3)设置RecordSource属性以决定检索什么信息; (4)设置CommandType属性以告诉提供者命令的类型; (5)设置CursorType属性以决定游标的类型; (6)根据需要再设置ADO Data控件的其它属性; (7)在窗体上放置数据绑定控件; (8)设置数据绑定控件的DataSource属性为ADO Data控件名; (9)设置数据绑定控件的DataField属性为记录集中的某个字段名; (10)编写事件过程对程序进行控制。,12.7.6 使用ADO Data控件创建数据库应用程序示例,【例12-9】把当前目录下的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论