《第11章 Visual Basic的数据库应用ppt课件.ppt》由会员分享,可在线阅读,更多相关《第11章 Visual Basic的数据库应用ppt课件.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在此输入您的封面副标题第11章 Visual Basic的数据库应用Visual Basic的数据库应用的数据库应用 第第 11 11 章章 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用主主 要要 内内 容容 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 11.1.1 11.1.1 数据库的相关知识数据库的相关知识
2、 11.1.2 11.1.2 通过通过Visual BasicVisual Basic访问数据库访问数据库 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 Visual Basic Visual Basic作为应用程序的开发利器也表现作为应用程序的开发利器也表现在数据库应用程序的开发上,它良好的界面和强大在数据库应用程序的开发上,它良好的界面和强大的数据控件使得数据库编程变得甚为简易。即便如的数据控件使得数据库编程变得甚为简易。即便如此,数据库应用程序的开
3、发仍然算得上是此,数据库应用程序的开发仍然算得上是Visual Visual BasicBasic编程中的难点,这是因为你不仅要熟悉编程中的难点,这是因为你不仅要熟悉Visual Visual BasicBasic中关于数据库编程方面的知识,还要了解数据中关于数据库编程方面的知识,还要了解数据库的知识。库的知识。 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 1. 1.数据库数据库(Database)(Database) 一个数据库由一个或一组数据表组成
4、。每个数据库都以文件的形式一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对应的方式也不一样。对于应的方式也不一样。对于dBASEdBASE, FoxProFoxPro和和ParadoxParadox格式的数据库来说,格式的数据库来说,一个数据表就是一个单独的数据库文件,而对于一个数据表就是一个单独的数据库文件,而对于Microsoft AccessMicrosoft Access、BtrieveBtrieve格式的数据库来说,一个数据库文件可以含有一个或多个数据
5、表,格式的数据库来说,一个数据库文件可以含有一个或多个数据表,也可以包含数据库的其它元素。也可以包含数据库的其它元素。 2.2.数据表(数据表(TableTable) 由一组数据记录组成,数据库中的数据是以表为单位进行组织的。由一组数据记录组成,数据库中的数据是以表为单位进行组织的。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。表实际上是一个二维表格,类似于表实际上是一个二维表格,类似于EXCELEXCEL工作表。工作表。 3.3.记录记录(Record)(Record) 各个学生有关的信息存放在表的行,表中的每
6、一行称为一个记录,各个学生有关的信息存放在表的行,表中的每一行称为一个记录,它由若干个字段组成。一般来说,数据库表创建时任意两个记录都不能它由若干个字段组成。一般来说,数据库表创建时任意两个记录都不能相同。相同。 11.1.1 11.1.1 数据库的相关知识数据库的相关知识 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 4.4.字段字段(Field)(Field) 也称作域。表中的每一列称为一个字段。表结构是由其包含的各种也称作域。表中的每一列称为一个字
7、段。表结构是由其包含的各种字段定义的,每个字段描述了它所含有的数据特性。创建一个数据库时,字段定义的,每个字段描述了它所含有的数据特性。创建一个数据库时,须为每个字段分配一个数据类型、最大长度和其它属性。字段值可以是须为每个字段分配一个数据类型、最大长度和其它属性。字段值可以是数字、字符、图像甚至音像资料。数字、字符、图像甚至音像资料。 5.5.索引索引(Index)(Index) 为了提高访问数据库的效率,可以对数据库中的记录使用索引。当为了提高访问数据库的效率,可以对数据库中的记录使用索引。当数据库较大时,为了查找指定的记录,则使用索引和不使用索引的效率数据库较大时,为了查找指定的记录,则
8、使用索引和不使用索引的效率有很大差别。索引实际上是一种特殊类型的表,其中含有关键字段有很大差别。索引实际上是一种特殊类型的表,其中含有关键字段( (由用由用户定义户定义) )的值和指向实际记录位置的指针,这些值和指针按照特定的顺序的值和指向实际记录位置的指针,这些值和指针按照特定的顺序( (升升/ /降降/ /其它其它) )存储,从而可以以较快的速度较效的方法存储,从而可以以较快的速度较效的方法( (如折半法如折半法) )查找查找到所需要的记录。到所需要的记录。 被索引的字段称为键被索引的字段称为键(Key)(Key),键可以是唯一的,也可以是非唯一的,键可以是唯一的,也可以是非唯一的,取决于
9、它(们)是否允许重复。唯一键可以指定为主键取决于它(们)是否允许重复。唯一键可以指定为主键(Primary Key)(Primary Key),用来唯一标识表的每行。用来唯一标识表的每行。 11.1.1 11.1.1 数据库的相关知识数据库的相关知识 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 6. 6.查询查询(Query)(Query) 查询是一个查询是一个SQL(SQL(结构化查询语言结构化查询语言) )的的SELECTSELECT语句,用来从一
10、个或多个语句,用来从一个或多个表中获取一组指定的记录,或者对某个表执行指定的操作。当从数据库表中获取一组指定的记录,或者对某个表执行指定的操作。当从数据库中读取数据时,往往希望读出的数据符合某些条件,并且能按某个字段中读取数据时,往往希望读出的数据符合某些条件,并且能按某个字段排序。使用排序。使用SQLSQL,可以使这一操作容易实现而且更加有效。,可以使这一操作容易实现而且更加有效。SQLSQL是非过程是非过程化语言,在用它查找指定的记录时,只需指出做什么,不必说明如何做。化语言,在用它查找指定的记录时,只需指出做什么,不必说明如何做。每个每个SELECTSELECT语句都可以看作是一个查询,
11、根据这个查询,可以得到需要语句都可以看作是一个查询,根据这个查询,可以得到需要的查询结果。的查询结果。 7.7.过滤器过滤器(Filter)(Filter) 过滤器是数据库中的表的一个属性,它把索引和排序结合起来,用过滤器是数据库中的表的一个属性,它把索引和排序结合起来,用来设置条件,然后根据给定的条件输出所需要的数据。来设置条件,然后根据给定的条件输出所需要的数据。 8.8.视图视图(view)(view) 数据的视图指的是查找到的记录数和显示这些记录的顺序。在一般数据的视图指的是查找到的记录数和显示这些记录的顺序。在一般情况下,视图由过滤器和索引控制。情况下,视图由过滤器和索引控制。 11
12、.1.1 11.1.1 数据库的相关知识数据库的相关知识 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 Visual Basic Visual Basic通过不同的方式与目前较为流行的大多数数据库进行通过不同的方式与目前较为流行的大多数数据库进行连接,传统的连接方法主要有:连接,传统的连接方法主要有: JetJet数据库引擎(数据库引擎(JETJET):是:是Microsoft AccessMicrosoft Access中使用的数据库技术,中使用的数据
13、库技术,已经置入已经置入Visual BasicVisual Basic中,除了可以极为方便的支接操纵中,除了可以极为方便的支接操纵AccessAccess数据库数据库(.MDB)(.MDB),还可以使用下列数据库:,还可以使用下列数据库:Btrieve(.DAT)Btrieve(.DAT)、dBASE(.DBF/.IDX)dBASE(.DBF/.IDX)、FoxPro(.DBF/.CDX/.NDX)FoxPro(.DBF/.CDX/.NDX)、Paradox(.DB, .PX)Paradox(.DB, .PX)。 通过通过Microsoft ODBCMicrosoft ODBC驱动程序驱动程
14、序,可以使用下列数据库:,可以使用下列数据库:Microsoft Microsoft SQL ServerSQL Server、OracleOracle、Sybase SQL ServerSybase SQL Server。也可以通过。也可以通过ODBCODBC来使用来使用Excel(.XLS)Excel(.XLS)、Text(.TXT)Text(.TXT)、Access(.MDB)Access(.MDB)、BtrieveBtrieve、DBASEDBASE、FoxProFoxPro、ParadoxParadox这些数据库,为了性能考虑,在使用本地的上述数据库时,应该这些数据库,为了性能考虑,
15、在使用本地的上述数据库时,应该用用JETJET方法。方法。 通过第三方通过第三方ODBCODBC驱动程序驱动程序,Visual BasicVisual Basic可以和下列数据库连接:可以和下列数据库连接:Digital RDBDigital RDB、HP AllBase/SQLHP AllBase/SQL、IBM DB2IBM DB2、IBM SQL/DSIBM SQL/DS、InformixInformix、Netware SQLNetware SQL、Watcom SQLWatcom SQL等。等。 11.1.2 11.1.2 通过通过Visual BasicVisual Basic访问
16、数据库访问数据库 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 Visual Basic Visual Basic中目前最新的数据库访问技术是中目前最新的数据库访问技术是ADO(ActiveX Data Objects)ADO(ActiveX Data Objects),该模型可以通过,该模型可以通过OLE DBOLE DB接口接口来访问上述的所有数据库。除了可以通过来访问上述的所有数据库。除了可以通过JETJET和和ODBCODBC接口访接口访问外,问
17、外,ADOADO还为还为MS SQL ServerMS SQL Server和和OracleOracle提供了专用的提供了专用的OLE DBOLE DB接口,以获得最佳的性能。其它通过接口,以获得最佳的性能。其它通过OLE DBOLE DB能够访问的数据能够访问的数据库还有库还有Microsoft Directory ServicesMicrosoft Directory Services等,并且在不断的增等,并且在不断的增加中。加中。 在在Visual BasicVisual Basic中一般可以通过两种方式访问数据库:中一般可以通过两种方式访问数据库:一种是一种是通过数据源控件或者数据库对
18、象通过数据源控件或者数据库对象与数据库进行连接,与数据库进行连接,进而对数据库进行各种操作。由于通过控件对数据库的操作进而对数据库进行各种操作。由于通过控件对数据库的操作能力有限,所以在能力有限,所以在Visual BasicVisual Basic中,还可以通过数据库对象中,还可以通过数据库对象或者数据库系统提供的或者数据库系统提供的底层底层APIAPI函数函数实现对数据库的完全操实现对数据库的完全操作。作。 11.1.2 11.1.2 通过通过Visual BasicVisual Basic访问数据库访问数据库 Visual BasicVisual Basic程序设计程序设计 普通高等教育
19、“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 11.2.1 Visual Basic 11.2.1 Visual Basic的数据源及的数据源及 数据源数据源控件控件 11.2.2 Visual Basic 11.2.2 Visual Basic的数据识别的数据识别 (绑定)控件(绑定)控件 11.2.3 11.2.3 利用数据库控件创建简单利用数据库控件创建简单 的数据库应用程序的数据库应用程序 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual Bas
20、icVisual Basic的数据库应用的数据库应用 数据源可分为对象数据源和控件数据源。控件数据源包括数据源可分为对象数据源和控件数据源。控件数据源包括DataData控件、控件、RemoteDataRemoteData控件和控件和ADOADO数据控件。对象数据源则比较多,可参见后面的数数据控件。对象数据源则比较多,可参见后面的数据模型。用户可以创建自己的数据源。据模型。用户可以创建自己的数据源。Visual BasicVisual Basic中的所有数据源包中的所有数据源包括:数据识别的类模块、数据识别的用户控件、数据环境、括:数据识别的类模块、数据识别的用户控件、数据环境、Records
21、etRecordset对对象、象、ADO DataADO Data控件控件 、DataData控件和控件和RemoteDataRemoteData控件。控件。11.2.1 Visual Basic11.2.1 Visual Basic的数据源及数据源的数据源及数据源控件控件 数据源是一种易于访问的对象数据源是一种易于访问的对象, ,它向任何数据使用者提供数据。它可它向任何数据使用者提供数据。它可以是可见形式的控件以是可见形式的控件, ,也可以是不可见的数据对象也可以是不可见的数据对象, ,不管是那一种不管是那一种, ,都可以都可以作为数据显示和处理控件的数据来源。数据控件可以分为提供数据的数作
22、为数据显示和处理控件的数据来源。数据控件可以分为提供数据的数据源控件和使用数据的数据识别据源控件和使用数据的数据识别/ /绑定控件。将这两种控件相结合起来绑定控件。将这两种控件相结合起来, ,就能完成数据的显示和处理工作就能完成数据的显示和处理工作, ,如果数据识别如果数据识别/ /绑定控件没有数据源绑定控件没有数据源(数据对象或数据源控件)(数据对象或数据源控件), ,则无法自动进行数据显示和处理工作。则无法自动进行数据显示和处理工作。 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Ba
23、sic的数据库应用的数据库应用 VB VB的数据识别(绑定)控件都有的数据识别(绑定)控件都有DataSourceDataSource和和DataFieldDataField属性,用于属性,用于指明控件所使用的数据源和字段,个别控件还有附加属性,用于进一步指明控件所使用的数据源和字段,个别控件还有附加属性,用于进一步控制数据的显示。控制数据的显示。 DataSource DataSource 属性属性: :返回或设置控件的数据源。可以在运行时将控返回或设置控件的数据源。可以在运行时将控件或对象的件或对象的 DataSource DataSource 动态设置为任何有效的数据源。动态设置为任何有
24、效的数据源。 DataField DataField 属性属性: :返回或设置要绑定控件的数据字段。返回或设置要绑定控件的数据字段。 DataMember DataMember 属性属性: :返回或设置要使用的源中的指定数据集。返回或设置要使用的源中的指定数据集。Visual BasicVisual Basic中的数据源可能包含多个数据集,该属性允许用户指定所中的数据源可能包含多个数据集,该属性允许用户指定所使用的数据集。使用的数据集。 DataFormat DataFormat 属性属性: :允许用户定义数据显示格式允许用户定义数据显示格式( (自动、数字、文本自动、数字、文本等等) )。
25、数据识别控件的数据识别控件的ValidateValidate事件和事件和CausesValidationCausesValidation属性能防止控件属性能防止控件失去焦点,直到所有的数据都被验证。如果将失去焦点,直到所有的数据都被验证。如果将CausesValidationCausesValidation属性设属性设置为置为TrueTrue,就可以处理,就可以处理ValidateValidate事件,该事件可以防止用户在字段值被事件,该事件可以防止用户在字段值被正确填充之前移走焦点。正确填充之前移走焦点。11.2.2 Visual Basic11.2.2 Visual Basic的数据识别(
26、绑定)控件的数据识别(绑定)控件 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 Visual Basic Visual Basic中主要的数据识别控件有:中主要的数据识别控件有:DataGridDataGrid控件控件:可以使用可以使用ADO DataADO Data控件或控件或ADO RecordsetADO Recordset对象的网格控件。对象的网格控件。DataListDataList控件控件:功能与功能与DBListDBList控件完全相象的控
27、件,但使用控件完全相象的控件,但使用OLE DBOLE DB数据源。数据源。DataComboDataCombo控件控件:功能与功能与DBComboDBCombo控件相似,但使用控件相似,但使用OLE DBOLE DB数据源。数据源。Hierarchical FlexGridHierarchical FlexGrid控件控件: :可以显示使用数据环境创建的层次结构游标可以显示使用数据环境创建的层次结构游标DataRepeaterDataRepeater控件控件: :允许使用用户控件显示数据并允许使用用户控件显示数据并“重复重复”控件以查看多个控件以查看多个记录。记录。MonthViewMont
28、hView控件控件:以图形方式将日期显示为日历。以图形方式将日期显示为日历。DateTimePickerDateTimePicker控件控件:与与MonthViewMonthView控件相似,日期显示在文本框中。控件相似,日期显示在文本框中。 CheckBoxCheckBox控件,控件,ComboBoxComboBox控件,控件,DBComboDBCombo控件,控件,DBListDBList控件,控件,FlexGridFlexGrid控件,控件,ImageImage控件,控件,LabelLabel控件,控件,ListBoxListBox控件,控件,Masked EditMasked Edit
29、控件,控件,MSChartMSChart控件控件( (显示数据图表显示数据图表) ),PictureBoxPictureBox控件,控件,RichTextBoxRichTextBox控件(显控件(显示备注),示备注),TextBoxTextBox控件控件:这些控件都具有数据识别能力,可以和数据库的的这些控件都具有数据识别能力,可以和数据库的的字段进行绑定,自动显示数据。字段进行绑定,自动显示数据。11.2.2 Visual Basic11.2.2 Visual Basic的数据识别(绑定)控件的数据识别(绑定)控件 Visual BasicVisual Basic程序设计程序设计 普通高等教育
30、“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 利用数据控件创建简单的数据库应用程序,首先需要数据源控件,利用数据控件创建简单的数据库应用程序,首先需要数据源控件,通过标准数据识别控件和数据绑定控件分别来显示和处理数据。下面以通过标准数据识别控件和数据绑定控件分别来显示和处理数据。下面以AdodcAdodc数据源控件为例给出基本步骤如下:数据源控件为例给出基本步骤如下: 1 1、添加、添加AdodcAdodc控件控件 点击点击“工程工程”菜单中的菜单中的“部件部件”菜单项,会出现菜单项,会出现“部件部件”对话框,对话框,选定控件列表
31、中的选定控件列表中的“Microsoft ADO Data Control 6.0 (OLEDB)”Microsoft ADO Data Control 6.0 (OLEDB)”,然,然后点后点“确定确定”。此时。此时VBVB工具箱中会出现工具箱中会出现AdodcAdodc控件的图标,在控件的图标,在FormForm上放置上放置一个一个AdodcAdodc,不改变其默认名字,就叫,不改变其默认名字,就叫Adodc1Adodc1。 2 2、设置、设置AdodcAdodc的基本属性的基本属性 1)Align1)Align:放置位置:放置位置( (一般为一般为Bottom)Bottom) 2)Cap
32、tion2)Caption:标题:标题( (常用来显示当前记录号常用来显示当前记录号) ),因为不写代码,设置为,因为不写代码,设置为“BIBLIO.MDB”BIBLIO.MDB” 3)ConnectionString3)ConnectionString:设置连接字符串,即数据源。通过控件的:设置连接字符串,即数据源。通过控件的“自定义自定义”属性页中的属性页中的“生成生成”可以自动生成连接字符串。可以自动生成连接字符串。 4)RecordSource4)RecordSource:设置记录源。:设置记录源。11.2.3 11.2.3 利用数据库控件创建简单的数据库应用程序利用数据库控件创建简单
33、的数据库应用程序 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 3 3、与数据识别控件进行绑定、与数据识别控件进行绑定 在在FormForm上放两个标签,分别写上上放两个标签,分别写上“Author ID”Author ID”和和“Author”Author”,然后放两个文本框,将其然后放两个文本框,将其DataSourceDataSource属性都设置为属性都设置为Adodc1Adodc1,将其,将其DataFieldDataField属性分别设置为属
34、性分别设置为Au_IDAu_ID和和AuthorAuthor,它们的,它们的DataFormatDataFormat属属性可以不设置,按默认格式显示即可。性可以不设置,按默认格式显示即可。 再放一个再放一个DataGirdDataGird控件在控件在FormForm上的适当位置,设置它的上的适当位置,设置它的DataSourceDataSource属性为属性为Adodc1Adodc1,其它属性不用设置,按默认值即可。,其它属性不用设置,按默认值即可。 至此,一个数据库浏览程序即告完成,不用一行代码,仅是至此,一个数据库浏览程序即告完成,不用一行代码,仅是设置一些属性就可以显示数据库中的数据了。
35、设置一些属性就可以显示数据库中的数据了。 数据源控件只给出有限的访问现存数据库的功能。而编程模数据源控件只给出有限的访问现存数据库的功能。而编程模型则可以更全面的控制数据库,这两种方法常同时使用。如果想型则可以更全面的控制数据库,这两种方法常同时使用。如果想创建数据库或者对数据库进行进一步的控制创建数据库或者对数据库进行进一步的控制( (例建索引、修改库结例建索引、修改库结构、查找等构、查找等) ),仅用数据控件是不行的,还需要通过程序对数据库,仅用数据控件是不行的,还需要通过程序对数据库进行操作。进行操作。11.2.3 11.2.3 利用数据库控件创建简单的数据库应用程序利用数据库控件创建简
36、单的数据库应用程序 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 11.3.1 11.3.1 DAODAO模型模型 11.3.2 RDO 11.3.2 RDO模型模型 11.3.3 ADO 11.3.3 ADO模型模型 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 在在Visual BasicVisual Basi
37、c中,可用的数据访问接口有三种:中,可用的数据访问接口有三种: 数据访问对象(数据访问对象(DAODAO)方式)方式是允许程序员操纵是允许程序员操纵Microsoft JetMicrosoft Jet数据库数据库引擎的第一个面向对象的接口。对于单一系统的数据库应用程序来说,引擎的第一个面向对象的接口。对于单一系统的数据库应用程序来说,DAODAO依然很受欢迎并且非常有效。依然很受欢迎并且非常有效。DAODAO模型是设计关系数据库系统结构的模型是设计关系数据库系统结构的对象类集合。它们提供了完成管理这样一个系统所需的全部操作属性和对象类集合。它们提供了完成管理这样一个系统所需的全部操作属性和方法
38、,包括创建数据库,定义表、字段和索引,建立表间的关系,定位方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。和查询数据库等工具。 远程数据对象(远程数据对象(RDORDO)方式)方式是提供给开放数据库互连(是提供给开放数据库互连(ODBCODBC)数据源)数据源的面向对象的接口。的面向对象的接口。RDORDO是开发是开发Microsoft SQL ServerMicrosoft SQL Server、OracleOracle、和其它、和其它大型关系数据库应用程序的绝大多数数据库开发者使用的对象模型。大型关系数据库应用程序的绝大多数数据库开发者使用的对象模型。 A
39、ctiveXActiveX数据对象(数据对象(ADOADO)方式)方式是是DAODAO和和RDORDO方式的继承者方式的继承者, ,它也有一个它也有一个类似的对象模式。在类似的对象模式。在ADOADO方式中方式中, ,可编程对象展示了计算机上所有可获取可编程对象展示了计算机上所有可获取的本地和远程数据源的本地和远程数据源, ,通过使用通过使用ADOADO控件控件, ,可以把数据对象绑定到内置控件可以把数据对象绑定到内置控件和和ActiveX ActiveX 控件、创建控件、创建DHTMLDHTML应用程序、以及使用数据环境设计器等应用程序、以及使用数据环境设计器等 Visual BasicVi
40、sual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 Visual Basic Visual Basic中的中的DAODAO模型有两种,一种用于模型有两种,一种用于Microsoft JetMicrosoft Jet,另一种用于,另一种用于ODBC DirectODBC Direct,前一种,前一种用于本地数据库,后一种用于直接访问远程数据库。用于本地数据库,后一种用于直接访问远程数据库。DAODAO加载远程加载远程DatabaseDatabase对象并将所有的数据访问操作对象并将所有的数
41、据访问操作委派给委派给ODBCODBC数据源,这是为了给熟悉数据源,这是为了给熟悉DAO JetDAO Jet模型的模型的人来访问远程数据而设置的模型。人来访问远程数据而设置的模型。 11.3.1 11.3.1 DAODAO模型模型 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 远程数据对象提供了一系列的对象,用来满足远程数据访问的特殊远程数据对象提供了一系列的对象,用来满足远程数据访问的特殊要求。在要求。在ODBC APIODBC API和驱动程序管理
42、器之上,和驱动程序管理器之上,RDORDO实现了很薄的一个代码层,实现了很薄的一个代码层,用来建立连接、创建结果集和游标,并且使用尽可能少的工作站资源执用来建立连接、创建结果集和游标,并且使用尽可能少的工作站资源执行复杂的过程。行复杂的过程。 RDORDO对象和集合提供了使用代码创建并控制远程对象和集合提供了使用代码创建并控制远程ODBCODBC数据库系统部件数据库系统部件的框架。对象和集合的属性描述了数据库部件的特征,也描述了用来操的框架。对象和集合的属性描述了数据库部件的特征,也描述了用来操纵它们的方法。在此总体框架下,可以在对象和集合之间建立联系,这纵它们的方法。在此总体框架下,可以在对
43、象和集合之间建立联系,这些联系表示了数据库系统的逻辑结构。些联系表示了数据库系统的逻辑结构。 除了除了rdoEnginerdoEngine对象外,每个对象都保存在一个相关的集合中。在首对象外,每个对象都保存在一个相关的集合中。在首次访问并初始化次访问并初始化RDORDO时,时,RDORDO会自动创建一个会自动创建一个rdoEnginerdoEngine和缺省的数据环境和缺省的数据环境的实例:的实例:rdoEnvironments(0)rdoEnvironments(0)。 远程数据对象编程模式与数据访问对象远程数据对象编程模式与数据访问对象(DAO)(DAO)编程模式在许多方面很编程模式在许多
44、方面很类似。但它的重点集中在处理存储过程及其结果集上,而不是仅用在类似。但它的重点集中在处理存储过程及其结果集上,而不是仅用在DAODAO编程模式的数据访问检索方法上。编程模式的数据访问检索方法上。 11.3.2 RDO 11.3.2 RDO模型模型 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 ADO ADO是是MicrosoftMicrosoft处理关系数据库和非关系数据库中信息的最新技术,处理关系数据库和非关系数据库中信息的最新技术,ADOADO没
45、有完全取代数据访问对象(没有完全取代数据访问对象(DAODAO),但它把),但它把DAODAO的编程扩展到了新的的编程扩展到了新的领域。领域。ADOADO是基于微软最新的是基于微软最新的OLE DBOLE DB的数据访问模式,它是专门为了给大的数据访问模式,它是专门为了给大范围的商业数据源提供访问而设计的,范围的商业数据源提供访问而设计的,ADOADO比比DAODAO所需的内存更少,所以它所需的内存更少,所以它更适合于大流量和大事务量的网络计算机系统。更适合于大流量和大事务量的网络计算机系统。ADO 2.0ADO 2.0对象模型是由八对象模型是由八个对象组成的。个对象组成的。 Command
46、Command 对象对象:包含关于某个命令的信息。:包含关于某个命令的信息。 Connection Connection 对象对象:包含关于某个数据提供程序的信息。:包含关于某个数据提供程序的信息。 Error Error 对象对象:包含数据提供程序出错时的扩展信息。:包含数据提供程序出错时的扩展信息。 Field Field 对象对象:包含记录集中数据的某单个列的信息。:包含记录集中数据的某单个列的信息。 Parameter Parameter 对象对象:包含参数化的:包含参数化的CommandCommand对象的某单个参数的信息对象的某单个参数的信息 Property Property 对
47、象对象:包含某个:包含某个ADOADO对象的提供程序定义的特征。对象的提供程序定义的特征。 Recordset Recordset 对象对象:RecordsetRecordset对象包含某个查询返回的记录,以及对象包含某个查询返回的记录,以及那些记录中的游标。那些记录中的游标。 11.3.3 ADO 11.3.3 ADO模型模型 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 11.4.1 11.4.1 创建数据库创建数据库 11.4.2 11.4.2 对
48、记录集进行操作对记录集进行操作 11.4.3 11.4.3 数据库的事务处理数据库的事务处理 Visual BasicVisual Basic程序设计程序设计 普通高等教育“十二五”规划教材第第1111章章 Visual BasicVisual Basic的数据库应用的数据库应用 如果要开发个人的小型数据库系统,用如果要开发个人的小型数据库系统,用AccessAccess数据库比较合适,要数据库比较合适,要开发大、中型的数据库系统用开发大、中型的数据库系统用ODBCODBC数据库更为适宜。数据库更为适宜。Microsoft Access Microsoft Access 20032003是一种
49、桌面数据库管理系统,它也是是一种桌面数据库管理系统,它也是Visual BasicVisual Basic的内部数据库。的内部数据库。这里的这里的“内部内部”有两方面的含义:一是用有两方面的含义:一是用AccessAccess建立的数据库建立的数据库( (MDB)MDB)可可以在以在Visual BasicVisual Basic中使用;二是用中使用;二是用Visual basicVisual basic可以直接建立可以直接建立AccessAccess数数据库,这主要是因为据库,这主要是因为Visual BasicVisual Basic内置了和内置了和ACCESSACCESS同样的数据库技术
50、,同样的数据库技术,即即JETJET。 DAODAO模型最为复杂,但是却最适合本地数据库的应用,所以我们以模型最为复杂,但是却最适合本地数据库的应用,所以我们以DAODAO编程模型来介绍编程模型来介绍Visual BasicVisual Basic的数据库编程。的数据库编程。ADOADO模型虽然更先进些,模型虽然更先进些,但是它无法实现一些但是它无法实现一些DAODAO能够实现的功能。能够实现的功能。 要在要在Visual BasicVisual Basic中使用数据库模型编程,一定要设置好对相应模中使用数据库模型编程,一定要设置好对相应模型对象的引用,以型对象的引用,以DAODAO为例,可以