第10章 VB数据库程序设计_第1页
第10章 VB数据库程序设计_第2页
第10章 VB数据库程序设计_第3页
第10章 VB数据库程序设计_第4页
第10章 VB数据库程序设计_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

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

文档简介

1、第十章第十章 数据访问编程数据访问编程 n一、数据库基本知识一、数据库基本知识n二、用二、用VBVB操作操作AccessAccess数据库表数据库表n三、数据控件与三、数据控件与ADOADO数据访问数据访问技术技术第一节第一节 数据库基本知识数据库基本知识一、几个术语一、几个术语(1)数据数据是由一系列物理序号组成物理序号组成的,例如,1258、abcd、工人、农民、学生等都属于数据,数据本身毫无意义,例如,1258和工人没有什么关系,也无意义。但数据经过加工处理后就不一样了,例如,工人的月工资是1258元,那么这里的1258和工人两个数据就有意义了。第一节第一节 数据库基本知识数据库基本知识

2、n一、几个术语一、几个术语(2)数据处理数据处理是指,对各种形式的数据进行汇集、传输、分组、排序、存储、检索、计算等一系列操作称为数据处理。第一节第一节 数据库基本知识数据库基本知识n一、几个术语一、几个术语(3)数据库所谓数据库,顾名思义就是“数据的仓库”。一般来说,数据库是存储在计算机系统内有结构的数据的集合,这些数据是按一定的组织形式存放在各个数据库的文件之中的,它为一个或多个用户服务,数据的存储独立于使用它的应用程序,对数据库中数据的增减、修改、查询、输出等操作都按一种公用的、有控制的方法来进行。第一节第一节 数据库基本知识数据库基本知识(4)数据库管理系统数据库管理系统是指,利用计算

3、机的特点对数据进行记录、整理、归类和转换等综合管理的软件,例如,Oracle、SQL Server、Access、FoxPro等软件。第一节第一节 数据库基本知识数据库基本知识(4)数据库管理系统 数据定义语言,用来描述和定义数据库中的各种数据的特征; 数据操作语言,用来对数据的各种操作的各项规定; 数据管理的程序等。总之,数据的一切操作都是通过数据库管理系统进行的。主要功能是,数据库定义、数据库操作、数据运行管理、数据库维护、通信管理等。第一节第一节 数据库基本知识数据库基本知识(5)数据库系统数据库系统是指,进行数据库管理的完整计算机系统:硬件系统、软件系统(操作系统和DBMS)、数据库、

4、应用程序、相关人员。 第一节第一节 数据库基本知识数据库基本知识二、数据库的数据模型二、数据库的数据模型 由于数据库的数据是按一定的逻辑结构组织起来的数据的集合,所以存放在数据库中数据的逻辑结构的数据模型对数据库有很大的影响。目前基本的数据库模型有三种类型,即网状模型、层次模型和关系模型。第一节第一节 数据库基本知识数据库基本知识1 1. . 层次模型层次模型层次模型指的是,用树型结构来表示数据间联系的模型称为层次模型。树的结点表示各个数据,连线表示数据之间的关系,这种联系只能是一对多的联系,因而层次模型中有且仅有一个最高层的结点,称为根结点,其它的结点有且仅有一个直接的上层结点,称为父结点,

5、上层结点和下层结点的联系是1:N的联系。层次模型结构的特点是简单清晰,一目了然, 但有一定的局限性。如下图所示。 第一节第一节 数据库基本知识数据库基本知识第一节第一节 数据库基本知识数据库基本知识2. 2. 网状模型网状模型网状模型指的是,用网络结构来表示数据间联系的模型称为网状模型。一般网状模型可以反映多对多的关系,如下图所示。 第一节第一节 数据库基本知识数据库基本知识第一节第一节 数据库基本知识数据库基本知识这种模型的特点是: 可以有一个或一个以上的根结点。 同时可以有一个或一个以上的父结点。 两个结点之间可以有多种联系。第一节第一节 数据库基本知识数据库基本知识3 3. . 关系模型

6、关系模型关系模型指的是,用表格来表示数据间联系的模型称为关系模型,关系模型实际上就是用一张二维表格来描述的。目前在微机上的数据库管理系统均为关系统型的,如DBASE、FoxBASE、FoxPro、CLIPER、ORACLE、UNIFY、INFORMIX、INGRES等。第一节第一节 数据库基本知识数据库基本知识3 3. . 关系模型关系模型其特点是:(1)用二维表格形式来表示事物及其之间的关系。(2)每个二维表格称为一个“关系”(对应一个实体型或事物类)。(3)表格的每一行称为一条记录(对应一个实体或事物)。(4)表格的每一列称为一个字段(或数据项,对应一个属性或特征),每个字段有一个字段名。

7、第一节第一节 数据库基本知识数据库基本知识(5)一条记录在某个字段的内容称为字段的值。(6)不同的字段允许有不同的数据类型与取值范围,但同一字段不同记录的值的类型与取值范围相同。(7)字段名、字段的数据类型合起来称为字段的型。 第一节第一节 数据库基本知识数据库基本知识下图所示的就是一张二维数表,每个学生的所有信息包括:学号、姓名、性别、出生年月等字段,这些字段的总和称为记录。 第一节第一节 数据库基本知识数据库基本知识第一节第一节 数据库基本知识数据库基本知识第二节第二节 用用VB操作操作Access数据库表数据库表一、使用可视化数据管理器一、使用可视化数据管理器(1)在Visual Bas

8、ic主窗口中,单击“外接程序”模块下的“可视化数据管理器”选项后,弹出VisData主窗口。(2)在VisData主窗口中,单击“文件”模块下的“新建”选项,再选择“Microsoft Access”子选项,再选择“Version 7.0MDB”功能如下图所示。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(3)系统弹出“选择要创建的Access数据库”对话框,如下图所示,在该对话框中输入数据库表文件名,输入“职工人事档案表”。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Acc

9、ess数据库表数据库表(4)单击“保存”按钮后,出现如下图所示的对话框。在该对话框中,单击鼠标器的右按键右按键后,弹出一个动态菜单,选择“新建表”选项。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(5)在弹出的表结构对话框表结构对话框中,输入表名称为:职工人事档案,如下图所示。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(6)在表结构对话框中,有添加字段按钮、删除字段按钮、添加索引按钮、删除索引按钮,用户可根据需要选择其中的某个命令按钮。(7)单击

10、“添加字段”按钮后,弹出如下图所示的“添加字段”对话框,在该对话框中用户可以根据需要添加字段。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(8)本例要添加的字段是:姓名,字符型,20个字节、出生年月,日期型,8个字节、职称,字符型,20个字节、基本工资,单精度型、部门,字符型,20个字节、政治面貌,字符型,20个字节、奖金,单精度型、工龄,整数型等。当全部都输入完毕后,单击“生成表”按钮,即可生成职工人事档案表的结构了,在数据库窗口中看到的是表结构的内容,如下图所示。 第二节第二节 用用VB操作操作Access数据库表数

11、据库表第二节第二节 用用VB操作操作Access数据库表数据库表二、数据库表的一般操作二、数据库表的一般操作1. 1. 数据库表记录的添加数据库表记录的添加在数据库窗口中,用鼠标器右键单击“职工人事档案表”后,弹出一个动态的菜单,选择“打开”选项后,系统将弹出“职工人事档案表”窗口,单击“添加”按钮,即可添加新的记录,输入有关的数据如下图所示。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表2. 2. 数据库表记录的删除数据库表记录的删除当不需要某条记录时,用户可以用删除功能来删除当前的记录,其操作如下:(1)打开数据库表文

12、件:在数据库窗口中单击右按键,在弹出的动态菜单项下选择“打开”功能即可打开数据库表文件,其窗口与前相同。(2)选择某个需要删除的记录:单击“”按钮,找到所需要删除的记录后,单击“删除”按钮后,系统将弹出一个“VisData”对话框,询问是否要删除当前的记录,当回答“Y”后,立即删除,否则,当回答“N”则不删除。 第二节第二节 用用VB操作操作Access数据库表数据库表3. 3. 数据库表结构的修改数据库表结构的修改数据库表结构修改的操作如下:(1)打开数据库表文件:在数据库窗口中单击右按键,在弹出的动态菜单项下选择“设计”功能即可打开数据库表结构,其窗口如下图所示。(2)选择某个需要修改的字

13、段后,再从名称文本框中修改,修改后单击“关闭”按钮即可。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表三、数据的查询三、数据的查询数据库表创建后最主要的目的是提供数据查询的功能,在VisData窗口对数据库表中数据的查询有两种方法,即使用查询生成器和使用SQL语句。第二节第二节 用用VB操作操作Access数据库表数据库表三、数据的查询三、数据的查询使用查询生成器来完成查询数据(1)在VisData窗口,单击“实用程序”模块下的“查询生成器”选项后,系统弹出“查询生成器”窗口。(2)在该对话框窗口中单击“职工人事档案表”后

14、,该表中的所有字段都显示在“要显示的字段”列表中,从列表中单击要查询结果中显示的字段,可选择多个字段,如下图所示。第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(3)设置查询条件,通过选择“字段名称”、“运算符”和“值”三项的内容,构成所需要的查询条件。所有三项内容中都可以通过单击“”按钮在列表框中选择其中的内容。第二节第二节 用用VB操作操作Access数据库表数据库表(4)单击“将And加入条件”或“将or加入条件”按钮,将当前条件添加到下面的“条件”列表中。对于需要多个条件的查询,选择“将And加入条件”表示条件之间是

15、“与”的关系,选择“将or加入条件”表示条件之间是“或”的关系。第二节第二节 用用VB操作操作Access数据库表数据库表(5)查询生成器底下的六个按钮的功能如下: “运行运行”按钮的功能是,查看查询结果。单击该按钮后会打开如下图(a)所示的对话框,询问“这是SQL传递查询吗?”,回答“否否”则显示查询的结果。假设,我们选择要显示的字段是:姓名、基本工资、奖金等三个字段,则经过条件查询后的结果有5条记录,其显示格式如下图(b)所示。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表 “显示显示”按钮的功能是,显示所生成的SQL

16、查询语句,如下图所示。 第二节第二节 用用VB操作操作Access数据库表数据库表“复制”按钮的功能是,将当前建立的查询复制到SQL窗口中去。“保存”按钮的功能是,把生成的SQL查询语句按指定的名称保存。“清除”按钮的功能是,清除所有设置,回到初始状态。“关闭”按钮的功能是,关闭“查询生成器”窗口。 第二节第二节 用用VB操作操作Access数据库表数据库表四、四、SQL语句简介语句简介SQL是英文Structured Query Language的缩写,是结构化查询语句的意思。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如,更新数据库中的数

17、据,从数据库中提取数据等。第二节第二节 用用VB操作操作Access数据库表数据库表1 1. Select. Select语句语句格式:SelectSelect Predicate FromFrom Where Group by Having Order by 功能:查询指定的数据库表中数据。第二节第二节 用用VB操作操作Access数据库表数据库表注意:(1)Predicate子句包括All、Distinct、Distinctrow、Top等参数,表示返回数据中被选择字段是否允许有重复值出现,All表示允许,Distinct表示不允许,Distinctrow表示将重复值滤掉,Top表示将从第

18、一条记录开始。(2)From子句用于指定要查询的表。第二节第二节 用用VB操作操作Access数据库表数据库表注意:(3)Where 子句用于指定查询的条件。(4)Group by子句用于指定将数据记录分组的条件。(5)Having子句一般与Group by联合使用,用于指定分组查询条件。(6)Order by 子句用于指定将返回数据排序条件。 第二节第二节 用用VB操作操作Access数据库表数据库表【例题】利用Select语句查询“职工人事档案”表中的数据。假设该数据库表中有:姓名、出生年月、职称、基本工资、部门、政治面貌、奖金、工龄。在SQL语句窗口下键入SQL语句,并按“执行”按钮后即

19、可显示其结果,下图所示的是SQL窗口。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表下面利用select语句查询职工人事档案表中的数据。(1)select 姓名,职称,基本工资,奖金 from 职工人事档案以上命令的功能是,查询“职工人事档案”数据库表中的字段名为姓名、职称、基本工资、奖金等字段的数据。单击“执行”按钮数据后的显示结果如下图所示,共有10条记录。 第二节第二节 用用VB操作操作Access数据库表数据库表第二节第二节 用用VB操作操作Access数据库表数据库表(2)select 姓名,职称,基本工资,奖金

20、 from 职工人事档案 where 基本工资900功能是:查询“职工人事档案”数据库表中满足“基本工资”900元的字段名为姓名、职称、基本工资、奖金等字段的数据。第二节第二节 用用VB操作操作Access数据库表数据库表(3)select distinct 姓名,职称,基本工资,奖金 from 职工人事档案 功能:查询“职工人事档案”数据库表中的字段名为姓名、职称、基本工资、奖金等字段的数据,所查询出来的记录是唯一的。 第二节第二节 用用VB操作操作Access数据库表数据库表2. Insert Into2. Insert Into语句语句格式:Insert Into Insert Into

21、 (字段名列表)功能:向指定的数据库表中添加添加一条或多条记录的数据。第二节第二节 用用VB操作操作Access数据库表数据库表注意:(1)表名指的是,需要插入记录数据的数据库表名称。(2)字段名列表指的是,需要插入记录数据的字段名称。(3)当选择了Values参数时,表示添加一条记录的新数据,此时(字段值列表)中的个数、类型均需与(字段名列表)完全匹配。(4)当选择了Select选项时,则表示将查询结果添加到数据库表中。 第二节第二节 用用VB操作操作Access数据库表数据库表【例题】利用Insert Into语句,插入一条或多条记录的数据。(1)insert into 职工人事档案 (姓

22、名,基本工资,奖金) values (“陈小平”,2567.89,2390)功能:在“职工人事档案”表中的末尾插入一条新的记录数据,其字段名是:姓名,基本工资,奖金。第二节第二节 用用VB操作操作Access数据库表数据库表(2)insert into 职工人事档案 Select * from 职工档案2功能:将数据库表“职工档案2”中的记录全部复制到“职工人事档案”中去(“职工档案2”与“职工人事档案”结构相同结构相同)。 第二节第二节 用用VB操作操作Access数据库表数据库表3. Update3. Update语句语句格式:Update set 字段名=表达式,字段名=表达式 Wher

23、e 功能:修改修改用户指定的表中选定行的一列或若干列的值。第二节第二节 用用VB操作操作Access数据库表数据库表 【例题】将姓名为“沈书毅”的职工的奖金赋初值为0。Update 职工人事档案 set 奖金=0 Where 姓名=“沈书毅” 第二节第二节 用用VB操作操作Access数据库表数据库表4. Delete4. Delete语句语句格式:Delete from Where 功能:删除用户指定的表中选定的行或全部。第二节第二节 用用VB操作操作Access数据库表数据库表【例题】将“基本工资”小于1000元的记录全部删除。Delete from 职工人事档案Where 基本工资100

24、0第二节第二节 用用VB操作操作Access数据库表数据库表5 5. Create. Create语句语句Create语句可以用来创建数据库、表、视图、索引等。(1)创建数据库的格式Create DataBase 第二节第二节 用用VB操作操作Access数据库表数据库表(2)创建数据库表的格式Create Table (字段名1 类型 Not Null 字段名2 类型 Not Null)第二节第二节 用用VB操作操作Access数据库表数据库表(3)创建视图的格式Create View (视图字段名表)(4)创建索引的格式Create Unique Index 索引名 On 表名 (列名AS

25、C/Desc)第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术一、数据控件一、数据控件数据控件数据控件(Data控件)是Visual Basic的内部控件内部控件,它可以访问多种标准格式的数据库,例如,Access、FoxPro等,它还可通过开放式数据库连接(ODBC),访问和操作多种服务数据库,例如,SQL Server、Oracle等。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术1 1. Data. Data控件作用控件作用Data控件主要具有以下几个作用:(1)可以对数据库中数据的进行访问;(2)可以从一条记录移到另一条记录,并显示和操纵来自被连接控件

26、的记录的数据;(3)可以执行大部分数据访问操作,而不需要编写代码;(4)可以通过数据绑定控件自动显示来自当前记录的一个或多个字段的数据。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. Data2. Data控件属性控件属性Data控件主要具有以下几个属性:(1)ConnectConnect属性属性该属性的主要功能是返回或设置连接数据库数据的来源,例如,Microsoft Access、FoxPro、Excel 8.0等。(2)DataBaseNameDataBaseName属性属性该属性的主要功能是返回或设置Data控件的数据源的名称数据源的名称及位置。第三节第三节 数据

27、控件与数据控件与ADO数据访问技术数据访问技术2. Data2. Data控件属性控件属性(3)RecordSource属性该属性的主要功能是返回或设置Data控件的记录的来源记录的来源,可以是表名称、SQL查询语句、也可以是一个查询名。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. Data2. Data控件属性控件属性(4)BOFAction属性该属性的主要功能是返回或设置一个值,用来指示当BOF属性为True时Data控件的行为。该值有以下两种: 0Move First:表示将第一条记录为当前记录; 1BOF:表示将当前记录位置定位在第一条记录之前。第三节第三节 数

28、据控件与数据控件与ADO数据访问技术数据访问技术(5)EOFAction属性该属性的主要功能是返回或设置一个值,用来指示当BOF属性为True时Data控件的行为。该值有以下三种: 0Move Lase:表示将最后一条记录为当前记录; 1EOF:表示将当前记录位置定位在第一条记录之后。 2AddNew:表示如果当前记录指针移过最后一条记录,则自动添加一条新记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(6)ReadOnly属性该属性的主要功能是返回或设置一个值,用来确定数据库数据是否为只读。如果设置为True,则不允许对数据库的数据进行修改;如果设置为False,则允许

29、对数据库的数据进行修改。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(7)RecordsetType属性该属性的主要功能是返回或设置一个值,用来指出由Data控件所创建的RecordsetRecordset对象的类型对象的类型,该类型共有以下三种设置: 0Table:表示一个表类型记录集,该类型是一个记录集合,代表能用来添加、更新或删除记录的单个数据库表。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术 1Dynaset:表示一个动态类型记录集,该类型是一个记录的动态集合,它可以是一个数据库表,也可以是从一个或多个表中得到的查询结果,可以在动态集类型的Rec

30、ordset对象里添加、更新或删除记录,并且任何改变都将会反映在基本表上。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术 2Snapshot:表示一个快照类型记录集,该类型是一个记录集合的静态副本,可用于寻找数据或生成报表。一个快照类型的Recordset对象能包含从一个或多个在同一数据库表里取出的字段,但字段不能更改。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术3. Data3. Data控件方法控件方法Data控件主要具有以下几种方法:(1)移动记录指针移动记录指针的方法 MoveFirst方法:将记录指针移到第一条记录; MoveLast方法:将记

31、录指针移到最后一条记录; MoveNext方法:将记录指针向后移动一条记录; MovePrevious方法:将记录指针向前移动一条记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)增加和删除增加和删除记录的方法 AddNew方法:增加一条新记录,作为表文件的最后一条记录。 Delete方法:删除当前记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(3)访问访问数据的方法 UpdateRecord方法:将连接到该Data控件的数据绑定控件中的内容保存到数据库。 UpdateControls方法:将该Data控件RecordSet对象中的当前记录显示

32、在关联的数据绑定控件中。 Refresh方法:更改Data控件的数据源数据源属性后,重新创建其RecordSet对象。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术4 4. Data. Data控件事件控件事件Data控件主要具有以下几个事件:(1)Error事件该事件的主要功能是,在运行程序中发生错误后触发该事件,如果编写了出错事件的代码时,当在程序中发生错误后,Visual Basic将显示与该错误有关的信息。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)RePosition事件该事件的主要功能是,当一条记录成为当前记录之后触发该事件。Record

33、set对象中的第一条记录成为当前记录,这时会触发RePosition事件。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(3)Validate事件该事件的主要功能是,当一条记录成为当前记录之前触发,使用Delete、Unload、Close操作之前会触发该事件。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术【例题】利用Data数据控件访问“职工人事档案”数据库表中的数据,并显示职工的姓名、出生年月、部门、职称、基本工资、奖金等字段信息。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(1)在窗体上的布局结构如下图所示。共有:7个标签控件、6

34、个文本框控件、1个数据控件(Data控件)。(2)6个文本框中的属性分别是:Text1.DataFieldDataField = 姓名、Text2.DataField = 出生年月、Text3.DataField = 部门、Text4.DataField = 职称、Text5.DataField = 基本工资、T e x t 6 . D a t a F i e l d = 奖 金 、 所 有 的 文 本 框 中 的Text.DataSource数据来源于数据来源于Data1Data1。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术第三节第三节 数据控件与数据控件与ADO数据

35、访问技术数据访问技术(3)数据控件中的属性是:Data1.DataBaseName=E:cbscbs13vb职工人事档案.mdb,Data1.Caption=职工人事档案表,Data1.RecordSource=职工人事档案。(4)运行以上设置的窗体后,出现如下图所示的窗口,该窗口中数据的初始值是“职工人事档案”表中的第一条记录,以后单击Data1数据控件中的按钮后,即可在文本框中显示不同记录中的数据。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(5)Data1控件中有4个按钮,从左到右分别代表: 移动记录指

36、针到第一条记录; 移动记录指针到上一条记录; 移动记录指针到下一条记录; 移动记录指针到最后一条记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术二二、记录集对象、记录集对象1. 1. 记录集对象的属性记录集对象的属性Recordset对象主要具有以下几个属性:(1)AbsolutePosition属性该属性的主要功能是,指定Recordset对象当前记录的序号当前记录的序号位置,第一条记录的AbsolutePosition的值为0。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术二二、记录集对象、记录集对象(2)Bookmark属性该属性的主要功能是,返回

37、唯一标识Recordset对象中当前记当前记录的书签录的书签,或者将Recordset对象的当前记录设置为由有效书签所标识的记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术二二、记录集对象、记录集对象(3)RecordCount属性该属性的主要功能是,返回记录集中的记录总数记录总数,该属性是只读属性。为了获得一个准确的记录总数值,一般在读取RecordCount属性值之前先执行一次MoveLast方法,然后,再获得记录总数值。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(4)Nomatch属性该属性的主要功能是,返回数据查询结果,若成功返回时,其值为F

38、alse,否则返回的值为True。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(5)BOF、EOF属性该属性的主要功能是,用来指示当前记录指针的位置,如果记录指针指向记录集的第一条记录之前,则BOF属性为True,否则为False。如果记录指针指向记录集的最后一条记录之后,则EOF属性为True,否则为False。如果当前记录集的EOF和BOF属性值都为True,则说明该记录集中没有记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(6)Fields属性该属性的主要功能是,用来对应于Recordset中的一列。Recordset对象的Field属性是一个

39、集合,该集合包含Recordset对象的所有Field对象。使用Field对象的Value属性可设置或返回当前记录的数据。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. 2. 记录集对象的方法记录集对象的方法(1)Move方法该方法主要功能是,用于移动记录指针移动记录指针,它可以使不同的记录成为当前记录,一般用于浏览数据的显示。Move方法有以下4种形式: MoveFirst方法:将记录指针移到第一条记录; MoveLast方法:将记录指针移到最后一条记录; MoveNext方法:将记录指针向后移动一条记录; MovePrevious方法:将记录指针向前移动一条记录。第三

40、节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)Find方法该方法主要的功能是,用于在记录集中查找符合条件的记录查找符合条件的记录,如果有符合条件的记录,则将记录指针定位在找到的记录上,否则,将指针定位在记录集的末尾。Find方法有以下4种形式: FindFirst方法:查找符合条件的第一条记录; FindLast方法:查找符合条件的最后一条记录; FindNext方法:查找符合条件的下一条记录; FindPrevious方法:查找符合条件的上一条记录。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(3)AddNew方法该方法主要的功能是,用于新增记录新增记

41、录,它将一条空记录添加到记录集的末尾,并将记录指针定位到该记录上。新记录的值为指定的默认值,如果没有指定值,则置为空值。可以在数据绑定控件中输入值。要注意的是,新记录成为当前记录后,需通过Update方法可以将该记录存储到数据库文件中。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(4)Delete方法该方法主要的功能是,用于删除当前记录。使用了Delete方法后,要移动记录指针来清除记录的显示,否则,被删除的记录仍显示在绑定控件中。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(5)Update方法该方法主要的功能是,用于提交数据以确认修改,其格式为:Da

42、ta1.Recordset.Update(6)Close方法该方法主要的功能是,用于关闭记录集对象,其格式为:Data1.Recordset.Close。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(7)Seek方法该方法主要的功能是,用于在表类型的记录集中查找满足条查找满足条件的记录件的记录,使用Seek方法之前必须先打开表的索引,要查找的内容为索引字段的内容。其格式为:Data1.Recordset.seek ,其中为字符串类型,可以是:、=、之一,可以有多个关键字,分别对应于当前索引字段。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术三三、数据绑定

43、控件、数据绑定控件1. 1. 数据绑定概念数据绑定概念在Visual Basic中可以与数据绑定的控件有:文本框(TextBox)、标签框(Lebel)、图片框(PictureBox)、图像框(Image)、列表框(ListBox)、组合框(ComboBox)、复选框(CheckBox)、表(MSFlexCrid)、数据列表(DataList)、数据网络(DataGrid)等。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. 2. 数据绑定控件的属性数据绑定控件的属性利用数据绑定控件显示信息,必须对绑定控件设置适当的属性值,下面将要介绍的是绑定控件的几个与数据库访问有关的

44、属性。(1)DataChanged属性该属性主要功能是,用来指示绑定控件里的值是否被改变是否被改变。如果被改变,则其值为True,否则,值为False。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)DataSource属性该属性主要功能是,用来指定数据绑定所连接的数据控件的数据控件的名称名称。通过该数据源,数据绑定控件被绑定到一个数据库。(3)DataField属性该属性主要功能是,用来指定一个要显示的数据库表中的字段名,该字段名的具体名称是具体连接到某一个数据库表中的字段名称。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术3. 3. 使用绑定控件的

45、操作步骤使用绑定控件的操作步骤要在应用程序中使用数据绑定控件显示数据的基本操作步骤如下:(1)添加Data控件及绑定控件到窗体中。(2)设置Data控件的DataBaseName属性及RecordSource属性,连接数据库表。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术3. 3. 使用绑定控件的操作步骤使用绑定控件的操作步骤要在应用程序中使用数据绑定控件显示数据的基本操作步骤如下:(3)设置绑定控件的DataSource属性为Data控件的名字。(4)设置绪定控件的Datafield属性为要显示的字段名。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术3.

46、 3. 使用绑定控件的操作步骤使用绑定控件的操作步骤例题例题10.410.4第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术四、四、ADO数据访问技术数据访问技术1. ADO1. ADO对象模型对象模型ADO对象模型是Microsoft公司新一代的数据访问技术,ADO对象模型规定了一组可编程的分层对象集合,在Visual Basic应用程序中通过创建这组对象集合来连接数据库,实现对数据库的各种操作。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术四、四、ADO数据访问技术数据访问技术1. ADO1. ADO对象模型对象模型ADO对象模型主要由Connection

47、(连接)、Command(命令)、Parameter(参数)、Recordset(记录集)、field(字段)、Property(属性)、Error(错误)等7个对象组成,另外还有4个集合对象,分别是Fields、Properties、 Parameters和Errors集合。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术四、四、ADO数据访问技术数据访问技术1. ADO1. ADO对象模型对象模型使用ADO对象进行数据访问的基本方法是:(1)连接到数据源。同时,可确定对数据源的所有更改是否已成功或没有发生。(2)指定访问数据源的命令,同时可带变量参数,或优化执行。第三节第三

48、节 数据控件与数据控件与ADO数据访问技术数据访问技术(3)执行命令。(4)如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。(5)适当情况下,可使用缓存行的更改内容来更新数据源。(6)提供常规方法检测错误(通常由建立连接或执行命令造成)。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术在典型情况下,需要在编程模型中采用所有这些步骤。但是,由于 ADO 有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。例如:将数据从文件直接存储到缓存行,然后仅用 ADO 资源对数据进行检查。 第三节第三节 数据控件与数据控件与ADO数据访问技术数

49、据访问技术2. 2. 连接(连接(ConnectionConnection)对象)对象通过“连接”可从应用程序访问数据源,连接是交换数据所必需的环境。应用程序可直接或间接访问数据源。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(1)ConnectionString属性该属性的主要功能是,返回或设置一个字符串值,这个字符串包含与数据源连接的信息。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术例如,连接E:cbscbs13vb职工人事档案.mdbDim Mymdb As New ADODB.Connection 定义一个新的Connection对象MymdbM

50、ymdb.Connectionstring=”Provider=Microsoft jet OLEDB.4.0;” & “Data source=e:cbscbs13vb职工人事档案.mdb” 定义连接方式定义连接方式Mymdb.Open 将指定的连接打开数据库表第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)Connection Timeout属性该属性的主要功能是,返回或设置等待连接打开的时间值,单位为秒,默认值为15秒。如果该属性设置为0,则ADO将无限等待直到连接打开为止。(3)State属性该属性的主要功能是,用来说明某对象状态是打开还是关闭的,可以随时使用St

51、ate属性来确定指定对象的当前状态。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术3 3. . 命令(命令(CommandCommand)对象)对象通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。Command对象的常用属性有:(1)ActiveConnectActiveConnect属性属性该属性的主要功能是,用来设置Command或Recordset对象当前所属的Connection对象。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)CommandText属

52、性该属性的主要功能是,用来设置要执行的命令字符串命令字符串,这个字符串可以是一个SQL语句,也可以是一存储过程等等。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(3)CommandType属性该属性的主要功能是,用来设置CommandCommand对象的类型对象的类型,该属性有以下4种不同的值: adcmdText,当要执行的字符串为SQL语句时,选择该值。 adcmdTable,当要执行的字符串为一数据库表时,选择该值。 adcmdStoreproc,当要执行的字符串为一个存储过程时,选择该值。 adcmdUnknown,当设置该属性值时,则Command对象必须采用其他

53、方法来决定要执行的字符串的类型。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术4. 4. 参数(参数(ParameterParameter)对象)对象通常,命令需要的变量部分即“参数”可以在命令发布之前进行更改。例如,可重复发出相同的数据检索命令,但每一次均可更改指定的检索信息。参数对执行其行为类似函数的命令非常有用,这样就可知道命令是做什么的,但不必知道它如何工作。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术5 5. . 记录集(记录集(RecordsetRecordset)对象)对象如果命令是在表中按信息行返回数据的查询(行返回查询),则这些行将会存

54、储在本地。对象模型将该存储体现为 Recordset 对象。但是,不存在仅代表单独一个 Recordset 行的对象。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(1)Absoluteposition属性该属性的主要功能是,用来指定Recordset对象当前记录的序号。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(2)ActiveConnection属性该属性的主要功能是,用来返回或设置指定的Command或Recordset对象当前所属的Connection对象。(3)Bof属性主要用于指示当前记录指针是否指向第一条记录之前。(4)Eof属性主要用于指

55、示当前记录指针是否指向最后一条记录之后。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(5)Filter属性主要用于为Recordset中的数据指定重筛选条件。(6)CursorType属性主要用于指示在Recordset对象中使用的游标类型。(7)RecordCount属性主要用于指示Recordset对象的记录数。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(8)Source属性主要用于指示Recordset对象中数据的来源,它可以是Command对象,也可以是一个SQL语句。(9)State属性主要用于指示某对象状态是打开还是关闭的。 第三节第三节

56、数据控件与数据控件与ADO数据访问技术数据访问技术6. 6. 字段(字段(fieldfield)对象)对象一个记录集行包含一个或多个“字段”。如果将记录集看作二维网格,字段将排列构成“列”。每一字段(列)都分别包含有名称、数据类型和值的属性,正是在该值中包含了来自数据源的真实数据。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术7 7. . 属性(属性(PropertyProperty)对象)对象每一个 ADO 对象都有一组唯一的“属性”来描述或控制对象的行为。属性有两种类型:内置和动态。内置属性是 ADO 对象的一部分并且随时可用。动态属性则由特别的数据提供者添加到 ADO

57、对象的属性集合中,仅在提供者被使用时才能存在。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术8 8. . 错误(错误(ErrorError)对象)对象错误随时可在应用程序中发生,通常是由于无法建立连接、执行命令或对某些状态(例如,试图使用没有初始化的记录集)的对象进行操作。每一个错误发生时,一个或多个Error对象将被放到Connection对象的Error集合中,当另一个ADO操作发生错误时,Error集合将被清空。并在其中放入新的Error对象集。 第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术五、五、 Adodc控件控件在使用ADO访问数据库表时,需要

58、编写大量的程序代码,程序的流程也比较复杂,因此,在实际应用上,一般可以用Adodc控件来替代ADO访问数据库表的方法。使用Adodc控件完全不用编写许多程序代码,只要在可视的环境下就可以完成许多操作了。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术五、五、 Adodc控件控件1 1. . 添加添加AdodcAdodc控件到工具箱控件到工具箱使用Adodc控件之前,必须先将该控件添加到当前的工具箱中,添加的方法如下:(1)在主窗口下,单击“工程”模块下的“部件”选项。(2)在弹出的对话框中,选择“控件”选项卡,如下图所示。 第三节第三节 数据控件与数据控件与ADO数据访问技术数

59、据访问技术第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术(3) 选择“Microsoft ADO Data Control 6.0 (OLEDB)”、“Microsoft DataGrid Control 6.0 (OLEDB)”、“Microsoft DataList Control 6.0 (OLEDB)”、“Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB)”等4个选项,使之该选项左边方框中出现“”标识符,表示该选项被选中。(4)单击“确定”按钮后,Adodc等控件的图标将被添加到工具箱中,如下图所示。 第三节第三节

60、数据控件与数据控件与ADO数据访问技术数据访问技术第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. 2. AdodcAdodc控件属性控件属性(1)ConnectionString属性该属性的主要功能是,用来建立与数据源连接的所有信息,每项信息用分号分隔。该属性为字符串类型,并有以下4个主要的参数。 Provider参数,用来指定数据源的名称。 File Name参数,用来指定基于数据源的文件名称。第三节第三节 数据控件与数据控件与ADO数据访问技术数据访问技术2. 2. AdodcAdodc控件属性控件属性(1)ConnectionString属性 Remote Prov

温馨提示

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

评论

0/150

提交评论