配色: 字号:
第八章 数据库编程
2022-11-05 | 阅:  转:  |  分享 
  
第八章 数据库编程 一、数据库基本知识二、用VB操作Access数据库表三、数据控件与ADO数据访问技术第一节 数据库基本知识一、几个术语
(1)数据数据是由一系列物理序号组成的,例如,1258、abcd、工人、农民、学生等都属于数据,数据本身毫无意义,例如,1258和
工人没有什么关系,也无意义。但数据经过加工处理后就不一样了,例如,工人的月工资是1258元,那么这里的1258和工人两个数据就有意
义了。(2)数据处理数据处理是指,对各种形式的数据进行汇集、传输、分组、排序、存储、检索、计算等一系列操作称为数据处理。(3)数据
库所谓数据库,顾名思义就是“数据的仓库”。一般来说,数据库是存储在计算机系统内有结构的数据的集合,这些数据是按一定的组织形式存放在
各个数据库的文件之中的,它为一个或多个用户服务,数据的存储独立于使用它的应用程序,对数据库中数据的增减、修改、查询、输出等操作都按
一种公用的、有控制的方法来进行。第一节 数据库基本知识(4)数据库管理系统数据库管理系统是指,利用计算机的特点对数据进行记录、整理
、归类和转换等综合管理的软件,例如,Oracle、SQL Server、Access、FoxPro等软件。它由三部分组成:① 数据
定义语言,用来描述和定义数据库中的各种数据的特征;② 数据操作语言,用来对数据的各种操作的各项规定;③ 数据管理的程序等。总之,数
据的一切操作都是通过数据库管理系统进行的。主要功能是,数据库定义、数据库操作、数据运行管理、数据库维护、通信管理等。(5)数据库系
统数据库系统是指,进行数据库管理的完整计算机系统:硬件系统、软件系统(操作系统和DBMS)、数据库、应用程序、相关人员。 第一节
数据库基本知识二、数据库的数据模型 由于数据库的数据是按一定的逻辑结构组织起来的数据的集合,所以存放在数据库中数据的逻辑结构的数据
模型对数据库有很大的影响。目前基本的数据库模型有三种类型,即网状模型、层次模型和关系模型。1. 层次模型层次模型指的是,用树型结构
来表示数据间联系的模型称为层次模型。树的结点表示各个数据,连线表示数据之间的关系,这种联系只能是一对多的联系,因而层次模型中有且仅
有一个最高层的结点,称为根结点,其它的结点有且仅有一个直接的上层结点,称为父结点,上层结点和下层结点的联系是1:N的联系。层次模型
结构的特点是简单清晰,一目了然, 但有一定的局限性。如下图所示。 第一节 数据库基本知识第一节 数据库基本知识2. 网状模型网状模
型指的是,用网络结构来表示数据间联系的模型称为网状模型。一般网状模型可以反映多对多的关系,如下图所示。 第一节 数据库基本知识这种
模型的特点是: ① 可以有一个或一个以上的根结点。 ② 同时可以有一个或一个以上的父结点。 ③ 两个结点之间可以有多种联系。
3. 关系模型关系模型指的是,用表格来表示数据间联系的模型称为关系模型,关系模型实际上就是用一张二维表格来描述的。目前在微机上的
数据库管理系统均为关系统型的,如DBASE、FoxBASE、FoxPro、CLIPER、ORACLE、UNIFY、INFORMIX
、INGRES等。其特点是:(1)用二维表格形式来表示事物及其之间的关系。(2)每个二维表格称为一个“关系”(对应一个实体型或事物
类)。(3)表格的每一行称为一条记录(对应一个实体或事物)。(4)表格的每一列称为一个字段(或数据项,对应一个属性或特征),每个字
段有一个字段名。第一节 数据库基本知识(5)一条记录在某个字段的内容称为字段的值。(6)不同的字段允许有不同的数据类型与取值范围,
但同一字段不同记录的值的类型与取值范围相同。(7)字段名、字段的数据类型合起来称为字段的型。下图所示的就是一张二维数表,每个学生的
所有信息包括:学号、姓名、性别、出生年月等字段,这些字段的总和称为记录。 第一节 数据库基本知识第一节 数据库基本知识三、使用Ac
cess创建数据库表我们还是用第七章的例题7.12这个例子,为了更能说明问题起见,我们增添了一个出生年月字段项,如下表所示。 第一
节 数据库基本知识下面我们介绍使用Access创建数据库表的操作步骤:(1)在Windows系统下单击“开始”菜单按钮,在上弹的菜
单项中选择“程序”项,再选择Microsoft Access功能后即可进入Access主窗口。(2)单击“文件”模块下的“新建”选
项功能,在右窗口上出现文件类型及形式,选择“空数据库”项后,弹出一个对话框,用户可以将所需创建的文件名和路径通过该对话框设定,该文
件的扩展名为.mdb。本例假设使用的文件名为:职工人事档案。(3)单击“创建”按钮后,出现如下图所示的对话框。 第一节 数据库基本
知识第一节 数据库基本知识(4)双击该选项后,出现一个对话框窗口,用户可以根据需要输入数据库表的结构,即字段名称、数据类型、说明等
内容。本例中输入的字段名称和数据类型如下图所示。 第一节 数据库基本知识(5)输入完数据库表结构的内容后,系统将又弹出一个窗口,要
求用户输入数据库表记录,本例要求输入10条记录,如下图所示。 第一节 数据库基本知识(6)单击“文件”模块下的“另存为”功能,将此
文件保存到用户指定的位置处。通过以上的步骤,可以创建Access数据库表文件。当然,对该表文件的各种操作,例如,录入、追加、查询、
输出等,可以直接在Access软件中进行,也可以使用Visual Basic语言中语句对该数据库表进行各种各样的操作。 返回本章首
页第二节 用VB操作Access数据库表一、使用可视化数据管理器(1)在Visual Basic主窗口中,单击“外接程序”模块下的
“可视化数据管理器”选项后,弹出VisData主窗口。(2)在VisData主窗口中,单击“文件”模块下的“新建”选项,再选择“M
icrosoft Access”子选项,再选择“Version 7.0MDB”功能如下图所示。 第二节 用VB操作Access数据
库表(3)系统弹出“选择要创建的Access数据库”对话框,如下图所示,在该对话框中输入数据库表文件名,输入“职工人事档案表”。
第二节 用VB操作Access数据库表(4)单击“保存”按钮后,出现如下图所示的对话框。在该对话框中,单击鼠标器的右按键后,弹出一
个动态菜单,选择“新建表”选项。 第二节 用VB操作Access数据库表(5)在弹出的表结构对话框中,输入表名称为:职工人事档案,
如下图所示。 第二节 用VB操作Access数据库表(6)在表结构对话框中,有添加字段按钮、删除字段按钮、添加索引按钮、删除索引按
钮,用户可根据需要选择其中的某个命令按钮,本例是单击“添加字段”按钮。(7)单击“添加字段”按钮后,弹出如下图所示的“添加字段”对
话框,在该对话框中用户可以根据需要添加字段。 第二节 用VB操作Access数据库表(8)本例要添加的字段是:姓名,字符型,8个字
节、出生年月,日期型,8个字节、职称,字符型,6个字节、基本工资,单精度型、部门,字符型,4个字节、政治面貌,字符型,4个字节、奖
金,单精度型、工龄,整数型等。当全部都输入完毕后,单击“生成表”按钮,即可生成职工人事档案表的结构了,在数据库窗口中看到的是表结构
的内容,如下图所示。 第二节 用VB操作Access数据库表二、数据库表的一般操作1. 数据库表记录的添加在数据库窗口中,用鼠标器
右键单击“职工人事档案表”后,弹出一个动态的菜单,选择“打开”选项后,系统将弹出“职工人事档案表”窗口,单击“添加”按钮,即可添加
新的记录,输入有关的数据如下图所示。 第二节 用VB操作Access数据库表2. 数据库表记录的删除当不需要某条记录时,用户可以用
删除功能来删除当前的记录,其操作如下:(1)打开数据库表文件:在数据库窗口中单击右按键,在弹出的动态菜单项下选择“打开”功能即可打
开数据库表文件,其窗口与前相同。(2)选择某个需要删除的记录:单击“?”按钮,找到所需要删除的记录后,单击“删除”按钮后,系统将弹
出一个“VisData”对话框,询问是否要删除当前的记录,当回答“Y”后,立即删除,否则,当回答“N”则不删除。 第二节 用VB操
作Access数据库表3. 数据库表结构的修改数据库表结构修改的操作如下:(1)打开数据库表文件:在数据库窗口中单击右按键,在弹出
的动态菜单项下选择“设计”功能即可打开数据库表结构,其窗口如下图所示。(2)选择某个需要修改的字段后,再从名称文本框中修改,修改后
单击“关闭”按钮即可。 第二节 用VB操作Access数据库表三、数据的查询数据库表创建后最主要的目的是提供数据查询的功能,在V
isData窗口对数据库表中数据的查询有两种方法,即使用查询生成器和使用SQL语句。下面我们介绍的是使用查询生成器来完成查询数据的
操作步骤。(1)在VisData窗口,单击“实用程序”模块下的“查询生成器”选项后,系统弹出“查询生成器”窗口。(2)在该对话框窗
口中单击“职工人事档案表”后,该表中的所有字段都显示在“要显示的字段”列表中,从列表中单击要查询结果中显示的字段,可选择多个字段,
如下图所示。第二节 用VB操作Access数据库表第二节 用VB操作Access数据库表(3)设置查询条件,通过选择“字段名称”、
“运算符”和“值”三项的内容,构成所需要的查询条件。所有三项内容中都可以通过单击“?”按钮在列表框中选择其中的内容。(4)单击“将
And加入条件”或“将or加入条件”按钮,将当前条件添加到下面的“条件”列表中。对于需要多个条件的查询,选择“将And加入条件”表
示条件之间是“与”的关系,选择“将or加入条件”表示条件之间是“或”的关系。(5)查询生成器底下的六个按钮的功能如下: ① “运
行”按钮的功能是,查看查询结果。单击该按钮后会打开如下图(a)所示的对话框,询问“这是SQL传递查询吗?”,回答“否”则显示查询的
结果。假设,我们选择要显示的字段是:姓名、基本工资、奖金等三个字段,则经过条件查询后的结果有5条记录,其显示格式如下图(b)所示。
第二节 用VB操作Access数据库表 ② “显示”按钮的功能是,显示所生成的SQL查询语句,如下图所示。 第二节 用VB操作A
ccess数据库表 ③ “复制”按钮的功能是,将当前建立的查询复制到SQL窗口中去。 ④ “保存”按钮的功能是,把生成的SQL查
询语句按指定的名称保存。 ⑤ “清除”按钮的功能是,清除所有设置,回到初始状态。 ⑥ “关闭”按钮的功能是,关闭“查询生成器”
窗口。 第二节 用VB操作Access数据库表四、SQL语句简介SQL是英文Structured Query Language的缩
写,是结构化查询语句的意思。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如,更
新数据库中的数据,从数据库中提取数据等。1. Select语句格式:Select[ Predicate <字段名列表/> ]Fr
om [ <表名列表> ][ Where <查询条件>][ Group by <分组条件>][ Having <分组搜索条件>][
Order by <排序条件>]功能:查询指定的数据库表中数据。第二节 用VB操作Access数据库表注意:(1)Predica
te子句包括All、Distinct、Distinctrow、Top等参数,表示返回数据中被选择字段是否允许有重复值出现,All表
示允许,Distinct表示不允许,Distinctrow表示将重复值滤掉,Top表示将从第一条记录开始。(2)From子句用于指
定要查询的表。(3)Where 子句用于指定查询的条件。(4)Group by子句用于指定将数据记录分组的条件。(5)Having
子句一般与Group by联合使用,用于指定分组查询条件。(6)Order by 子句用于指定将返回数据排序条件。 第二节 用VB
操作Access数据库表【例题8.1】利用Select语句查询“职工人事档案”表中的数据。假设该数据库表中有:姓名、出生年月、职称
、基本工资、部门、政治面貌、奖金、工龄。在SQL语句窗口下键入SQL语句,并按“执行”按钮后即可显示其结果,下图所示的是SQL窗口
。 第二节 用VB操作Access数据库表下面利用select语句查询职工人事档案表中的数据。(1)select 姓名,职称,基本
工资,奖金 from 职工人事档案以上命令的功能是,查询“职工人事档案”数据库表中的字段名为姓名、职称、基本工资、奖金等字段的数据
。单击“执行”按钮数据后的显示结果如下图所示,共有10条记录。 第二节 用VB操作Access数据库表(2)select 姓名,职
称,基本工资,奖金 from 职工人事档案 where 基本工资>900以上命令的功能是,查询“职工人事档案”数据库表中满足“基本
工资”>900元的字段名为姓名、职称、基本工资、奖金等字段的数据。单击“执行”按钮数据后的显示结果共有5条记录。(3)select
distinct 姓名,职称,基本工资,奖金 from 职工人事档案 以上命令的功能是,查询“职工人事档案”数据库表中的字段名为
姓名、职称、基本工资、奖金等字段的数据,所查询出来的记录是唯一的。 第二节 用VB操作Access数据库表2. Insert In
to语句格式:Insert Into <表名> (字段名列表)功能:向指定的数
据库表中添加一条或多条记录的数据。注意:(1)表名指的是,需要插入记录数据的数据库表名称。(2)字段名列表指的是,需要插入记录数据
的字段名称。(3)当选择了Values参数时,表示添加一条记录的新数据,此时(字段值列表)中的个数、类型均需与(字段名列表)完全匹
配。(4)当选择了Select选项时,则表示将查询结果添加到数据库表中。 第二节 用VB操作Access数据库表【例题8.2】利用
Insert Into语句,插入一条或多条记录的数据。(1)insert into 职工人事档案 (姓名,基本工资,奖金) val
ues (“陈小平”,2567.89,2390)以上命令的功能是,在“职工人事档案”表中的末尾插入一条新的记录数据,其字段名是:姓
名,基本工资,奖金。(2)insert into 职工人事档案 Select from 职工档案2以上命令的功能是,将数据库
表“职工档案2”中的记录全部复制到“职工人事档案”中去(“职工档案2”与“职工人事档案”结构相同)。 第二节 用VB操作Acces
s数据库表3. Update语句格式:Update <表名> set 字段名=表达式,……,字段名=表达式 [Where <条件>
]功能:修改用户指定<表名>的表中选定行的一列或若干列的值。?【例题8.3】将姓名为“沈书毅”的职工的奖金赋初值为0。Update
职工人事档案 set 奖金=0 Where 姓名=“沈书毅” 第二节 用VB操作Access数据库表4. Delete语句格
式:Delete from <表名> [Where <条件>]功能:删除用户指定<表名>的表中选定的行或全部。【例题8.4】将“
基本工资”小于1000元的记录全部删除。Delete from 职工人事档案Where 基本工资<10005. Create语句
Create语句可以用来创建数据库、表、视图、索引等。(1)创建数据库的格式Create DataBase <数据库名>第二节 用
VB操作Access数据库表(2)创建数据库表的格式Create Table <表名> (字段名1 类型 [Not Null]
字段名2 类型 [Not Null]………………)(3)创建视图的格式Create View <视图名> [(视图字段
名表)](4)创建索引的格式Create [Unique] Index 索引名 On 表名 (列名[ASC/Desc])……返回本
章首页第三节 数据控件与ADO数据访问技术一、数据控件数据控件(Data控件)是Visual Basic的内部控件,它可以访问多种
标准格式的数据库,例如,Access、FoxPro等,它还可通过开放式数据库连接(ODBC),访问和操作多种服务数据库,例如,SQ
L Server、Oracle等。1. Data控件作用Data控件主要具有以下几个作用:(1)可以对数据库中数据的进行访问;(2
)可以从一条记录移到另一条记录,并显示和操纵来自被连接控件的记录的数据;(3)可以执行大部分数据访问操作,而不需要编写代码;(4)
可以通过数据绑定控件自动显示来自当前记录的一个或多个字段的数据。第三节 数据控件与ADO数据访问技术2. Data控件属性Data
控件主要具有以下几个属性:(1)Connect属性该属性的主要功能是返回或设置连接数据库数据的来源,例如,Microsoft Ac
cess、FoxPro、Excel 8.0等。(2)DataBaseName属性该属性的主要功能是返回或设置Data控件的数据源的
名称及位置。(3)RecordSource属性该属性的主要功能是返回或设置Data控件的记录的来源,可以是表名称、SQL查询语句、
也可以是一个查询名。(4)BOFAction属性该属性的主要功能是返回或设置一个值,用来指示当BOF属性为True时Data控件的
行为。该值有以下两种: ① 0—Move First:表示将第一条记录为当前记录; ② 1—BOF:表示将当前记录位置定位在第
一条记录之前。第三节 数据控件与ADO数据访问技术(5)EOFAction属性该属性的主要功能是返回或设置一个值,用来指示当BOF
属性为True时Data控件的行为。该值有以下三种: ① 0—Move Lase:表示将最后一条记录为当前记录; ② 1—EO
F:表示将当前记录位置定位在第一条记录之后。 ③ 2—AddNew:表示如果当前记录指针移过最后一条记录,则自动添加一条新记录。
第三节 数据控件与ADO数据访问技术(6)ReadOnly属性该属性的主要功能是返回或设置一个值,用来确定数据库数据是否为只读。如
果设置为True,则不允许对数据库的数据进行修改;如果设置为False,则允许对数据库的数据进行修改。(7)RecordsetTy
pe属性该属性的主要功能是返回或设置一个值,用来指出由Data控件所创建的Recordset对象的类型,该类型共有以下三种设置:
① 0—Table:表示一个表类型记录集,该类型是一个记录集合,代表能用来添加、更新或删除记录的单个数据库表。 ② 1—Dyn
aset:表示一个动态类型记录集,该类型是一个记录的动态集合,它可以是一个数据库表,也可以是从一个或多个表中得到的查询结果,可以在
动态集类型的Recordset对象里添加、更新或删除记录,并且任何改变都将会反映在基本表上。 ③ 2—Snapshot:表示一个
快照类型记录集,该类型是一个记录集合的静态副本,可用于寻找数据或生成报表。一个快照类型的Recordset对象能包含从一个或多个在
同一数据库表里取出的字段,但字段不能更改。 第三节 数据控件与ADO数据访问技术3. Data控件方法Data控件主要具有以下几种
方法:(1)移动记录指针的方法 ① MoveFirst方法:将记录指针移到第一条记录; ② MoveLast方法:将记录指针移
到最后一条记录; ③ MoveNext方法:将记录指针向后移动一条记录; ④ MovePrevious方法:将记录指针向前移动
一条记录。(2)增加和删除记录的方法 ① AddNew方法:增加一条新记录,作为表文件的最后一条记录。 ② Delete方法:
删除当前记录。(3)访问数据的方法 ① UpdateRecord方法:将连接到该Data控件的数据绑定控件中的内容保存到数据库。
② UpdateControls方法:将该Data控件RecordSet对象中的当前记录显示在关联的数据绑定控件中。第三节 数
据控件与ADO数据访问技术 ③ Refresh方法:更改Data控件的数据源数据源属性后,重新创建其RecordSet对象。4.
Data控件事件Data控件主要具有以下几个事件:(1)Error事件该事件的主要功能是,在运行程序中发生错误后触发该事件,如果
编写了出错事件的代码时,当在程序中发生错误后,Visual Basic将显示与该错误有关的信息。(2)RePosition事件该事
件的主要功能是,当一条记录成为当前记录之后触发该事件。Recordset对象中的第一条记录成为当前记录,这时会触发RePositi
on事件。(3)Validate事件该事件的主要功能是,当一条记录成为当前记录之前触发,使用Delete、Unload、Close
操作之前会触发该事件。 第三节 数据控件与ADO数据访问技术【例题8.5】利用Data数据控件访问“职工人事档案”数据库表中的数据
,并显示职工的姓名、出生年月、部门、职称、基本工资、奖金等字段信息。(1)在窗体上的布局结构如下图所示。共有:7个标签控件、6个文
本框控件、1个数据控件(Data控件)。(2)6个文本框中的属性分别是:Text1.DataField = 姓名、Text2.Da
taField = 出生年月、Text3.DataField = 部门、Text4.DataField = 职称、Text5.Da
taField = 基本工资、Text6.DataField = 奖金、所有的文本框中的Text.DataSource数据来源于D
ata1。 第三节 数据控件与ADO数据访问技术第三节 数据控件与ADO数据访问技术(3)数据控件中的属性是:Data1.Data
BaseName=E:\cbs\cbs13\vb\职工人事档案.mdb,Data1.Caption=职工人事档案表,Data1.R
ecordSource=职工人事档案。(4)运行以上设置的窗体后,出现如下图所示的窗口,该窗口中数据的初始值是“职工人事档案”表中
的第一条记录,以后单击Data1数据控件中的按钮后,即可在文本框中显示不同记录中的数据。 第三节 数据控件与ADO数据访问技术(5
)Data1控件中有4个按钮,从左到右分别代表: ① 移动记录指针到第一条记录; ② 移动记录指针到上一条记录; ③ 移动记
录指针到下一条记录; ④ 移动记录指针到最后一条记录。 二、记录集对象1. 记录集对象的属性Recordset对象主要具有以下几
个属性:(1)AbsolutePosition属性该属性的主要功能是,指定Recordset对象当前记录的序号位置,第一条记录的A
bsolutePosition的值为0。(2)Bookmark属性该属性的主要功能是,返回唯一标识Recordset对象中当前记录
的书签,或者将Recordset对象的当前记录设置为由有效书签所标识的记录。(3)RecordCount属性该属性的主要功能是,返
回记录集中的记录总数,该属性是只读属性。为了获得一个准确的记录总数值,一般在读取RecordCount属性值之前先执行一次Move
Last方法,然后,再获得记录总数值。第三节 数据控件与ADO数据访问技术(4)Nomatch属性该属性的主要功能是,返回数据查询
结果,若成功返回时,其值为False,否则返回的值为True。(5)BOF、EOF属性该属性的主要功能是,用来指示当前记录指针的位
置,如果记录指针指向记录集的第一条记录之前,则BOF属性为True,否则为False。如果记录指针指向记录集的最后一条记录之后,则
EOF属性为True,否则为False。如果当前记录集的EOF和BOF属性值都为True,则说明该记录集中没有记录。(6)Fiel
ds属性该属性的主要功能是,用来对应于Recordset中的一列。Recordset对象的Field属性是一个集合,该集合包含Re
cordset对象的所有Field对象。使用Field对象的Value属性可设置或返回当前记录的数据。第三节 数据控件与ADO数据
访问技术2. 记录集对象的方法(1)Move方法该方法主要功能是,用于移动记录指针,它可以使不同的记录成为当前记录,一般用于浏览数
据的显示。Move方法有以下4种形式: ① MoveFirst方法:将记录指针移到第一条记录; ② MoveLast方法:将记
录指针移到最后一条记录; ③ MoveNext方法:将记录指针向后移动一条记录; ④ MovePrevious方法:将记录指针
向前移动一条记录。(2)Find方法该方法主要的功能是,用于在记录集中查找符合条件的记录,如果有符合条件的记录,则将记录指针定位在
找到的记录上,否则,将指针定位在记录集的末尾。Find方法有以下4种形式: ① FindFirst方法:查找符合条件的第一条记录
; ② FindLast方法:查找符合条件的最后一条记录; ③ FindNext方法:查找符合条件的下一条记录; ④ Fin
dPrevious方法:查找符合条件的上一条记录。第三节 数据控件与ADO数据访问技术(3)AddNew方法该方法主要的功能是,用
于新增记录,它将一条空记录添加到记录集的末尾,并将记录指针定位到该记录上。新记录的值为指定的默认值,如果没有指定值,则置为空值。可
以在数据绑定控件中输入值。要注意的是,新记录成为当前记录后,需通过Update方法可以将该记录存储到数据库文件中。(4)Delet
e方法该方法主要的功能是,用于删除当前记录。使用了Delete方法后,要移动记录指针来清除记录的显示,否则,被删除的记录仍显示在绑
定控件中。(5)Update方法该方法主要的功能是,用于提交数据以确认修改,其格式为:Data1.Recordset.Update
(6)Close方法该方法主要的功能是,用于关闭记录集对象,其格式为:Data1.Recordset.Close。第三节 数据控件
与ADO数据访问技术(7)Seek方法该方法主要的功能是,用于在表类型的记录集中查找满足条件的记录,使用Seek方法之前必须先打开
表的索引,要查找的内容为索引字段的内容。其格式为:Data1.Recordset.seek <比较字符>,其中<比较字符>为字符串
类型,可以是:<、<=、=、>=、>之一,可以有多个关键字,分别对应于当前索引字段。 三、数据绑定控件1. 数据绑定概念在Visu
al Basic中可以与数据绑定的控件有:文本框(TextBox)、标签框(Lebel)、图片框(PictureBox)、图像框(
Image)、列表框(ListBox)、组合框(ComboBox)、复选框(CheckBox)、表(MSFlexCrid)、数据列
表(DataList)、数据网络(DataGrid)等。 第三节 数据控件与ADO数据访问技术2. 数据绑定控件的属性利用数据绑定
控件显示信息,必须对绑定控件设置适当的属性值,下面将要介绍的是绑定控件的几个与数据库访问有关的属性。(1)DataChanged属
性该属性主要功能是,用来指示绑定控件里的值是否被改变。如果被改变,则其值为True,否则,值为False。(2)DataSourc
e属性该属性主要功能是,用来指定数据绑定所连接的数据控件的名称。通过该数据源,数据绑定控件被绑定到一个数据库。(3)DataFie
ld属性该属性主要功能是,用来指定一个要显示的数据库表中的字段名,该字段名的具体名称是具体连接到某一个数据库表中的字段名称。 第三
节 数据控件与ADO数据访问技术3. 使用绑定控件的操作步骤要在应用程序中使用数据绑定控件显示数据的基本操作步骤如下:(1)添加D
ata控件及绑定控件到窗体中。(2)设置Data控件的DataBaseName属性及RecordSource属性,连接数据库表。(
3)设置绑定控件的DataSource属性为Data控件的名字。(4)设置绪定控件的Datafield属性为要显示的字段名。以上是
有关Data控件及数据绑定控件的属性及方法,下面我们将要介绍一个数据绑定的具体实例。 第三节 数据控件与ADO数据访问技术四、AD
O数据访问技术1. ADO对象模型ADO对象模型是Microsoft公司新一代的数据访问技术,ADO对象模型规定了一组可编程的分层
对象集合,在Visual Basic应用程序中通过创建这组对象集合来连接数据库,实现对数据库的各种操作。ADO对象模型主要由Con
nection(连接)、Command(命令)、Parameter(参数)、Recordset(记录集)、field(字段)、Pr
operty(属性)、Error(错误)等7个对象组成,另外还有4个集合对象,分别是Fields、Properties、Param
eters和Errors集合。使用ADO对象进行数据访问的基本方法是:(1)连接到数据源。同时,可确定对数据源的所有更改是否已成功
或没有发生。(2)指定访问数据源的命令,同时可带变量参数,或优化执行。第三节 数据控件与ADO数据访问技术(3)执行命令。(4)如
果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。(5)适当情况下,可使用缓存行的更改内容来更新
数据源。(6)提供常规方法检测错误(通常由建立连接或执行命令造成)。 在典型情况下,需要在编程模型中采用所有这些步骤。但是,由于
ADO 有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。例如:将数据从文件直接存储到缓存行,然后仅用 ADO 资源对
数据进行检查。 第三节 数据控件与ADO数据访问技术2. 连接(Connection)对象通过“连接”可从应用程序访问数据源,连接
是交换数据所必需的环境。应用程序可直接或间接访问数据源。Connection 对象的常用属性有:(1)ConnectionStri
ng属性该属性的主要功能是,返回或设置一个字符串值,这个字符串包含与数据源连接的信息。例如,连接E:\cbs\cbs13\vb\职
工人事档案.mdbDim Mymdb As New ADODB.Connection ‘定义一个新的Connection对象
MymdbMymdb.Connectionstring=”Provider=Microsoft jet OLEDB.4.0;” &
“Data source=e:\cbs\cbs13\vb\职工人事档案.mdb” ‘定义连接方式Mymdb.Open
‘将指定的连接打开数据库表第三节 数据控件与ADO数据访问技术(2)Connection T
imeout属性该属性的主要功能是,返回或设置等待连接打开的时间值,单位为秒,默认值为15秒。如果该属性设置为0,则ADO将无限等
待直到连接打开为止。(3)State属性该属性的主要功能是,用来说明某对象状态是打开还是关闭的,可以随时使用State属性来确定指
定对象的当前状态。 3. 命令(Command)对象通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令可以在
数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。Command对象的常用属性有:(1)ActiveConnect属性该
属性的主要功能是,用来设置Command或Recordset对象当前所属的Connection对象。第三节 数据控件与ADO数据访
问技术(2)CommandText属性该属性的主要功能是,用来设置要执行的命令字符串,这个字符串可以是一个SQL语句,也可以是一存
储过程等等。(3)CommandType属性该属性的主要功能是,用来设置Command对象的类型,该属性有以下4种不同的值: ①
adcmdText,当要执行的字符串为SQL语句时,选择该值。 ② adcmdTable,当要执行的字符串为一数据库表时,选择
该值。 ③ adcmdStoreproc,当要执行的字符串为一个存储过程时,选择该值。 ④ adcmdUnknown,当设置
该属性值时,则Command对象必须采用其他方法来决定要执行的字符串的类型。 第三节 数据控件与ADO数据访问技术4. 参数(Pa
rameter)对象通常,命令需要的变量部分即“参数”可以在命令发布之前进行更改。例如,可重复发出相同的数据检索命令,但每一次均可
更改指定的检索信息。参数对执行其行为类似函数的命令非常有用,这样就可知道命令是做什么的,但不必知道它如何工作。5. 记录集(Rec
ordset)对象如果命令是在表中按信息行返回数据的查询(行返回查询),则这些行将会存储在本地。对象模型将该存储体现为 Recor
dset 对象。但是,不存在仅代表单独一个 Recordset 行的对象。Recordset对象的常用属性有:(1)Absolut
eposition属性该属性的主要功能是,用来指定Recordset对象当前记录的序号。第三节 数据控件与ADO数据访问技术(2)
ActiveConnection属性该属性的主要功能是,用来返回或设置指定的Command或Recordset对象当前所属的Con
nection对象。(3)Bof属性主要用于指示当前记录指针是否指向第一条记录之前。(4)Eof属性主要用于指示当前记录指针是否指
向最后一条记录之后。(5)Filter属性主要用于为Recordset中的数据指定重筛选条件。(6)CursorType属性主要用
于指示在Recordset对象中使用的游标类型。(7)RecordCount属性主要用于指示Recordset对象的记录数。(8)
Source属性主要用于指示Recordset对象中数据的来源,它可以是Command对象,也可以是一个SQL语句。(9)Stat
e属性主要用于指示某对象状态是打开还是关闭的。 第三节 数据控件与ADO数据访问技术6. 字段(field)对象一个记录集行包含一
个或多个“字段”。如果将记录集看作二维网格,字段将排列构成“列”。每一字段(列)都分别包含有名称、数据类型和值的属性,正是在该值中
包含了来自数据源的真实数据。7. 属性(Property)对象每一个 ADO 对象都有一组唯一的“属性”来描述或控制对象的行为。属
性有两种类型:内置和动态。内置属性是 ADO 对象的一部分并且随时可用。动态属性则由特别的数据提供者添加到 ADO 对象的属性集合
中,仅在提供者被使用时才能存在。8. 错误(Error)对象错误随时可在应用程序中发生,通常是由于无法建立连接、执行命令或对某些状
态(例如,试图使用没有初始化的记录集)的对象进行操作。每一个错误发生时,一个或多个Error对象将被放到Connection对象的
Error集合中,当另一个ADO操作发生错误时,Error集合将被清空。并在其中放入新的Error对象集。 第三节 数据控件与AD
O数据访问技术五、 Adodc控件在使用ADO访问数据库表时,需要编写大量的程序代码,程序的流程也比较复杂,因此,在实际应用上,一
般可以用Adodc控件来替代ADO访问数据库表的方法。使用Adodc控件完全不用编写许多程序代码,只要在可视的环境下就可以完成许多
操作了。1. 添加Adodc控件到工具箱使用Adodc控件之前,必须先将该控件添加到当前的工具箱中,添加的方法如下:(1)在主窗口
下,单击“工程”模块下的“部件”选项。(2)在弹出的对话框中,选择“控件”选项卡,如下图所示。 第三节 数据控件与ADO数据访问技
术第三节 数据控件与ADO数据访问技术(3) 选择“Microsoft ADO Data Control 6.0 (OLEDB)”
、“Microsoft DataGrid Control 6.0 (OLEDB)”、“Microsoft DataList Con
trol 6.0 (OLEDB)”、“Microsoft Hierarchical FlexGrid Control 6.0 (O
LEDB)”等4个选项,使之该选项左边方框中出现“√”标识符,表示该选项被选中。(4)单击“确定”按钮后,Adodc等控件的图标将
被添加到工具箱中,如下图所示。 第三节 数据控件与ADO数据访问技术2. Adodc控件属性(1)ConnectionString
属性该属性的主要功能是,用来建立与数据源连接的所有信息,每项信息用分号分隔。该属性为字符串类型,并有以下4个主要的参数。 ① P
rovider参数,用来指定数据源的名称。 ② File Name参数,用来指定基于数据源的文件名称。 ③ Remote Pr
ovider参数,用来指定在打开一个客户端连接时,使用的数据源名称。 ④ Remote Server参数,用来指定打开一个客户端
连接时,使用的服务器的路径与名称。(2)RecordSource属性该属性的主要功能是,用来决定从数据库中检索什么信息。该属性通常
是由一条SQL语句组成。第三节 数据控件与ADO数据访问技术(3)UserName属性该属性的主要功能是,用来指定用户的名称。该属
性可以在ADODC控件的属性窗口中直接输入,也可以在ADODC控件的“属性页”对话框或“数据链接属性”对话框中设置。3. Adod
c控件方法Adodc控件方法有以下几种方法:(1)Refresh方法,主要用于刷新与ADODC控件连接的记录集数据。(2)UpDa
teRecord方法,主要用于将数据绑定控件 的当前内容写入到数据库中。(3)Close方法,主要用于关闭打开的对象及相关的对象。
第三节 数据控件与ADO数据访问技术4. Adodc控件事件Adodc控件提供了若干个可以编程的事件,这些事件可以分为两种类型
,即,Will事件和Complete事件。(1)WillMove和MoveComplete事件WillMove事件在当前记录的位置
将要发生变化的时候发生,而MoveComplete事件则在位置改变完毕的时候发生。?(2)WillChangeField和Fiel
dChangeComplete事件WillChangeField事件在当前记录集中的一个或者多个字段内容发生变化的时候发生,而Fi
eldChangeComplete事件则是在字段的内容已经发生变化之后发生。利用这两个事件可以在字段变化之前作相应的处理,例如,检
查字段是否合法以及该字段是否允许更新等。第三节 数据控件与ADO数据访问技术(3)WillChangeRecord和RecordC
hangeComplete事件WillChangeRecord事件是在当前记录集中的一个或者多个记录将要发生变化的时候发生的,而R
ecordChangeComplete事件则是当记录的改变已经完成后发生。 六、ADODC应用1. 设置ADODC控件与数据源连接
(ConnectionString)(1)在窗体中选中ADODC控件,单击鼠标器的右按键,在弹出的动态菜单项中选择“ADODC属性
”选项。(2)系统将弹出“属性页”对话框,如下图所示。 第三节 数据控件与ADO数据访问技术第三节 数据控件与ADO数据访问技术(
3)在该对话框中系统提供了三种与数据源建立连接的方法,分别是: ① 使用Data Link文件的方法。该方法一般是已创建了一个M
icrosoft数据文件(.UDL)时,选择该种方法。 ② 使用ODBC数据资源名称的方法。该方法一般是已配置数据源DSN,选择该种方法,并可在下拉列表框中选择一个DSN,或单击“新建”命令按钮创建一个新的DSN。 ③ 使用连接字符串的方法。该方法一般是想通过一个连接字符串(ConnectionString)与数据源连接,选择该种方法。(4)如果选择第三种连接的方法时,单击“生成”按钮后,即可打开“数据连接属性”对话框,如下图所示。第三节 数据控件与ADO数据访问技术第三节 数据控件与ADO数据访问技术(5)在“数据连接属性”对话框中,共有4种选项卡,分别是:提供程序、连接、高级、所有等。 (6)选择“提供程序”选项卡,并在列表框中选择“Microsoft Jet 4.0 OLE DB provider”项,单击“下一步”按钮后出现如下图所示的连接对话框。 第三节 数据控件与ADO数据访问技术(7)可以直接在“选择或输入数据库名称”文本框中输入所需连接的数据库路径和名称,也可以通过单击右边的 … 按钮,从弹出的对话框中选择数据源的路径和名称。(8)连接完成后,可以通过单击“测试连接”按钮进行测试,如果连接成功,将会弹出如下图所示的对话框,否则,将会弹出连接不成功对话框。 第三节 数据控件与ADO数据访问技术(9)数据链接属性对话框中的另外两个选项卡,例如,高级、所有选项卡,可以对网络的设置和用户对数据库的“访问权限”的设置等。2. 设置ADODC控件与数据库表连接(RecordSource)(1)在ADODC对象的属性窗口中,选择RecordSource属性,并打开该属性的属性页,如下图所示。 第三节 数据控件与ADO数据访问技术(2)该对话框中的命令类型共有4种记录集类型,它们的名称和含义分别是: ① adcmdTable 表 ② adcmdText SQL 语句 ③ adcmdStoredproc 存储过程 ④ adcmdUnKnown 其他类型(3)在“表或存储过程名称”下拉列表框中,设置具体的表名或存储过程名。(4)在“命令文本”框中,可以输入SQL语句,来具体设置要访问的记录集。 第三节 数据控件与ADO数据访问技术3. 设置ADODC数据绑定控件显示数据与Data控件一样,ADODC控件也可以有许多数据绑定控件来显示数据,这些数据绑定的控件有:(1)数据列表控件: DataList(2)数据组合框控件:DataCombo(3)数据网络控件: DataGrid(4)分层式网络控件:Microsoft Hierarchical flexGrid(5)图表控件: Microsoft Char(6)日期选择控件: DateRimePicker(7)图像组合框控件:ImageCombo(8)月份浏览控件: MonthView返回本章首页?本次课程结束谢谢合作!
献花(0)
+1
(本文系籽油荃面原创)