第 10章 VB与数据库
? 10.1 数据库概述
? 10.2 数据库管理器
? 10.3 使用数据控件访问数据库
? 10.4 报表
10.1数据库概述
一、数据库的概念
数据库是以一定方式组织、存储及处理
相互关联的数据的集合,它以一定的数据结
构和一定的文件组织方式存储数据,并允许
用户访问。这种集合具备下述特点:
最少冗余;
数据资源共享;
数据独立性,即数据独立于使用它的应
用程序;
由统一的软件系统管理和控制数据的增
加、删除、修改和检索。
10.1数据库概述
二、数据库分类
数据库中数据的组织形式有多种,按
数据库使用的数据结构模型划分,到目前
为止,数据库可分为:
? 层次数据库:采用层次模型;
? 网状数据库:采用网状模型;
? 关系数据库:采用关系模型;
? 面向对象数据库:采用面向对象模型。
关系型数据库模型已经成为数据库设
计事实上的标准。这不仅因为关系模型自
身的强大功能,而且还由于它提供了叫做
结构化查询语言 (SQL)的标准接口。
关系型数据库把数据用表的集合表示。
行被称为记录,列则被称为字段。
VB默认的数据库是 Accesss数据库,可
以在 VB中直接创建,库文件的扩展名
为,mdb。 VB还可以处理各种外部数据库,
例如 Foxpro,Excel,Dbase等。
10.1数据库概述
关系数据库中常用的术语
? 主键( Primary Key):又称做主码,它是能够
唯一标识一条记录的一个或一组列(字段),去
掉其中的某个列后,余下的列不能唯一标识表中
的一条记录。例如,学生表中,通常可以使用学
号作为主键,但不能使用学生名字作为主键。
? 外部键( Foreign Key):它由一个或多个属性
组成,它或它们是另一个表的主键。通常使用外
部键建立表之间的关系。
10.1数据库概述
关系数据库中常用的术语
?索引:索引是加快数据库访问的一种手段,目的
是实现对数据行的快速、直接存取而不必扫描整
个表。索引通常对一个或多个列表创建,表的索
引字段的每个值在索引中都有一个入口,同时使
用指针指向具有该值的数据行。
? 视图:它是一个与真实表相同的虚拟表,用于限
制用户可以看到和修改的数据量,从而简化数据
的表达式。
? 存储过程:它是一个编译过的 SQL程序。在该过
程中可以嵌入条件逻辑、传递参数、定义变量和
执行其他编程任务
10.1数据库概述
数据库管理系统( DBMS)
数据库管理系统是基于某种数据结构模型
的、管理数据库并提供数据库访问接口的通用
软件,它通常具备下述功能:
? 数据库定义功能:提供数据定义语言 DDL,
用户使用数据定义语言能够定义数据库的结构、
数据完整性和安全性等约束条件。
? 数据库操作功能:提供数据操作语言 DML,
用户使用数据操作语言完成数据查询、插入、
删除等操作;
10.1数据库概述
? 数据库运行、控制功能:提供数据安全性
控制、数据完整性控制、多用户环境的并发控
制以及数据库恢复等;
? 数据库维护功能:提供数据加载、转储、
数据库重组、性能分析与监控等;
? 数据字典:存放数据库结构的描述等信息;
? 数据通讯功能:实现联机处理、分时处理、
分布式处理等功能。
10.1数据库概述
10.2 数据库管理器 (Visdata)
大型数据库(如 Oracle,Sybase等)不能在
Visual Basic 6.0中创建,要创建这些类型的数据
库,需要使用相应数据库管理系统提供的工具来完
成。 VB6.0提供了创建 Microsoft Access数据库和
其它一些数据库的工具 ——“可视化数据管理器, 。
在 Visual Basic开发环境内单击, 外接程序,
菜单中的, 可视化数据管理器, 选项或在操作系统
桌面上运行 Visual Basic系统目录中的
Visdata,exe,都可打开可视化数据管理器。
可视化数据管理器
10.2 数据库管理器 (Visdata)
一,创建一个数据库
(1) 选择, 可视化数据管理器, 中, 文件, 菜单中的
,新建, 菜单项用于创建数据库,若选择, 打开数据库,
则用于打开一个已经建立好的数据库。
(2) 选择, Microsoft Access”菜单项,单击该菜单项
下的, Version 7.0 MDB”菜单项,打开如图 10-3所示的
,选择要创建的 Microsoft Access数据库, 对话框。
(3) 选择新建数据库要保存的目录后,在, 文件名,
文本框中输入数据库的名称 student,也就是数据库的文
件名称。
(4)单击, 确定, 按钮关闭对话框,,可视化数据管
理器, 开始在指定的目录下创建以指定名称命名的
Microsoft Access数据库,完成数据库创建工作,
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
二、向数据库中添加数据表
操作步骤为:
( 1)在, 数据库窗口, 中右击鼠标,系统弹出一
快捷菜单,单击其中的, 新建表, 菜单项,系统将打
开, 表结构, 对话框 。
( 2)在, 表名称, 文本框中键入表名,这里键入
名称 xjb。
( 3)单击, 添加字段, 按钮,系统显示, 添加字
段, 对话框,在这个对话框中定义表的字段。在, 名
称, 文本框中输入字段名称,这里输入第一个字段
,学号, 的名称, st_No”;单击, 类型, 下拉列表框,
从中选择字段类型, Integer”;, 大小, 文本框用于
指定 Text类型字段的宽度,该长度限制了输入到这个
字段的文本字符的最大长度,选择 Text之外的数据类
型时,不需要指定宽度。单击, 确定, 按钮,这样我
们就定义了 xjb表的第一个字段。
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
三、数据表中数据的编辑
10.2 数据库管理器 (Visdata)
四、添加或删除索引
10.2 数据库管理器 (Visdata)
五、使用查询生成器
10.2 数据库管理器 (Visdata)
一、数据控件的概念
数据控件( Data控件)是 Visual
Basic中最常见的控件,在工具箱中
的图标为,利用它可以在应用程序
中访问前面所创建的数据库。
数据控件不能显示数据,需要与
数据绑定控件配合使用。
10.3 使用数据控件访问数据库
二、数据控件 Data的重要属性
( 1) Connect属性
Connect属性指定数据控件要连接的数据
库类型,它默认的数据库类型是 Access的
MDB文件,此外,也可连接 DBF,XLS,ODBC
等类型的数据库。
( 2) DataBaseName属性
DataBaseName属性指定要访问的数据库
文件名,它包含路径名。
10.3 使用数据控件访问数据库
( 3) RecordSource属性
RecordSource用来指定可访问的数据,
这些数据构成记录集对象 Recordset。该属
性值一般是数据库中的一个表,也可以是其
它形式。如 SQL查询等等。
10.3 使用数据控件访问数据库
三、数据绑定控件
在 Visual Basic中,数据控件本身不
能直接显示表中的数据,必须通过绑定控
件来实现。
数据绑定控件也称数据识别控件,是
指能够配合 Data控件(或其它控件),操
作数据库中数据的控件。
常用的数据绑定控件有文本框、列表
框、组合框等控件。
10.3 使用数据控件访问数据库
要使用绑定控件,必须在设计或运行时对
绑定控件的两个属性进行设置:
1,DataSource属性:通过指定一个有效
的数据控件将绑定控件连接到数据源上。
2,DataField属性:设置数据源中的字段,
使绑定控件与字段建立联系。
绑定控件、数据控件和数据库三者的关系
如图所示 。
绑定控件 数据控件 数据库
绑定控件、数据控件和数据库三者的关系
10.3 使用数据控件访问数据库
举例 1,如何显示出数据库的表的记录
使用数据绑定控件 Text,数据控件 Data。
10.3 使用数据控件访问数据库
四,Data控件的记录集的属性与方法
记录集是 Data的成员,它有自己的属性
和方法。
下面列出记录集常用的属性和方法。
1,BOF和 EOF的属性
BOF判定记录指针是否在首记录之前,若
BOF为 True,则当前位置位于记录集的第 1条
记录之前。
EOF判定记录指针是否在末记录之后。如
果 EOF的值为 True,表示记录指针在末纪录之
后,否则,在记录指针末记录之前。
10.3 使用数据控件访问数据库
2,RecordCount属性
RecordCount属性返回 Recordset中的
记录的个数,该属性为只读属性。
10.3 使用数据控件访问数据库
3,Move方法
(1)MoveFirst方法,移至第 1条记录。
(2)MoveLast方法,移至最后一条记录。
(3)MoveNext方法,移至下一条记录。
(4)MovePrevious方法,移至上一条记录。
(5)Move[n]方法 向前或向后移 n条记录,
n为指定的数值。
10.3 使用数据控件访问数据库
举例 2:说明 BOF,EOF,RecordCount,Move。
10.3 使用数据控件访问数据库
4,Find方法
(1)FindFirst方法,从记录集的开始查
找满足条件的第 1条记录。
(2)FindLast方法,从记录集的尾部向前
查找满足条件的第 1条记录。
(3)FindNext方法,从当前记录开始查找
满足条件的下一条记录。
(4)FindPrevious方法,从当前记录开始
查找满足条件的上一条记录。
10.3 使用数据控件访问数据库
FindFirst的格式为:
Data对象,数据集,FindFirst
“关键字 like ?字符常量 ’” 或者,
Data对象,数据集,FindFirst
“关键字 like ?” & 字符型变量 &,?”
例如:
xh=Trim(Inputbox(”请输入学号, ))
Data1.Recordset.FindFirst,学号 like
“? & xh &,?”
支持使用 *和?的模糊查询。
其他查询格式类似。
10.3 使用数据控件访问数据库
5,NoMatch属性
在记录集中进行查找时,如果找到相匹配的
录,则 Recordset的 NoMatch属性为 False,否则
为 True。
举例 3:说明,Find,NoMatch
10.3 使用数据控件访问数据库
6,AddNew方法
AddNew方法在记录集中增加新记录。增加
记录的步骤为:
(1)调用 AddNew方法。
(2)在捆绑类型的控件中输入数据
10.3 使用数据控件访问数据库
7,Delete方法
要从记录集中删除记录的操作分为三步:
(1)定位被删除的记录使之成为当前记录。
(2)调用 Delete方法。
(3)移动记录指针。
注意,在使用 Delete方法时,当前记录
立即删除。删除一条记录后,相应的绑定控
件仍旧显示该记录的内容。因此,需移动记
录指针,一般移至下一记录。在移动记录指
针后,应该检查 EOF属性。
10.3 使用数据控件访问数据库
8,Edit方法
Eidt方法可以用来修改当前记录的字段
内容,只需要修改相应的绑定控件内容即
可。
(1)调用 Edit方法。
(2)给各字段赋值。
注意:添加、删除、编辑记录都需要将
Data的 ReadOnly属性设置为 False。
举例说明:添加、删除、编辑
10.3 使用数据控件访问数据库
举例 4:综合举例
10.3 使用数据控件访问数据库
小结
本节难点为:删除记录后记录指针的
移动,查询记录的格式。
本节重点为:如何设置 Data控件的属
性,熟悉 Data控件最常见的属性、方法。
本节使用的技巧是,设置快捷键,文
本框、命令按钮的快捷键。
10.3 使用数据控件访问数据库
10.4 ADO数据控件
一,ADO对象模型
在 VB 中要开发数据库程序,可以使用, 数据库访问对象, 。随着
Visual Basic 的发展,在 VB6.0 中共有 3种可以使用的数据库访问对象:
ADO(ActiveX Data Object) ActiveX数据对象
RDO (Remote Data Objects) 远程数据对象
DAO (Data Access Objects) 数据访问对象
其中 ADO数据访问接口是 Microsoft处理数据库信息的最新技术。它是
一种 ActiveX对象,采用了被称为 OLE DB的数据访问模式,是数据访问对
象 DAO、远程数据对象 RDO和开放数据库互连 ODBC三种方式的扩展。 ADO对
象模型定义了一个可编程的分层对象集合,主要由三个对象成员
Connection(连接),Command(命令)和 Recordset(记录集)对象,以
及几个集合对象 Errors(错误),Parameters(参数)和 Fields(字段)
等所组成。
要想在程序中使用 ADO对象,必须先为当前工程引用 ADO的对象库。引
用方式是执行工程菜单的引用命令,启动引用对话框,在清单中选
取, Microsoft Activex Data object 2.0 Library”选项。
1,Connection(连接)对象
,连接, 是交换数据所必需的环境,通过, 连接, 可使应用程序访
问数据源。 Connection对象用于指定专门的提供者和任意参数。下表
列出 Connection对象的常用属性和方法。
ConnectionString属性 指定到数据源的连接字符串
Open方法 打开到数据源的连接
Execute方法 对连接执行各种操作
Cancel方法 取消 Open或 Execute方法的调用
Close方法 关闭打开的 Connection对象
2,Command(命令)对象
,命令, 对象描述将对数据源执行的命令。通过已建立的连接
发出的, 命令, 可以某种方式来操作数据源。一般,命令可以在数
据源中添加、删除、或更新数据,或者在表中以行的格式检索数据。
下表 列出 Command对象的常用属性和方法。
10.4 ADO数据控件
ActiveConnection属性 设置到数据源的连接信息
CommandText属性 定义命令(例如,SQL语句)的可执行文本
CommandType属性 指定命令类型以优化性能
Execute方法 执行 CommandText属性指定的操作
Cancel方法 取消 Execute方法的调用
3,Recordset(记录集)对象
,记录集, 对象描述来自数据表或命令执行结果的记录集
盒,其组成为记录(行)。常用于指定可以检查的行,移动行,
指定移动行的顺序,添加、更改或删除行,通过更改行更新数
据源等。下表 列出 Recordset对象的常用属性和方法。
10.4 ADO数据控件
ActiveConnection属性 返回 Recordset对象所属的 Connection对象。
BOF和 EOF属性 指示当前记录指针是否位于首记录前、末记录后。
Bookmark属性 返回并设置当前记录的书签
CursorType属性 指定打开 Recordset对象时应该使用的游标类型
Filter属性 设置 Recordset对象中的筛选条件
RecordCount属性 返回 Recordset对象中记录的数目
Sort属性 设置排序字段
Source属性 指定 Recordset对象的数据源,Command对象变量,SQL语句、存储过程
AddNew方法 可创建和初始化新记录
CancelUpdate方法 可取消对当前记录所作的任何更改或放弃新添加的记录
Delete方法 删除当前记录或记录组
Move方法 移动 Recordset对象中当前记录的位置
MoveFirst,MoveLast、
MoveNext和 MovePrevious方法
移动到指定 Recordset对象中的第一个、最后一个、下一个或上一个记录
并使该记录成为当前记录
Requery方法 重新执行对象所基于的查询,来更新 Recordset对象中的数据
Update方法 保存对 Recordset对象的当前记录所做的所有更改
10.4 ADO数据控件
二、使用 ADO数据控件
在使用 ADO据控件前,必须先通过, 工程 /部件, 菜单命令选择
,Microsoft ADO Data control6.0(0LE DB)”选项,将 ADO数据控件添加
到工具箱。 ADO数据控件与 Visual Basic的内部数据控件很相似,它允许
使用 ADO数据控件的基本属性快速地创建与数据库的连接。
1,ADO数据控件的基本属性
(1)ConnectionString属性
ADO控件没有 DatabaseName属性,它使用 Connectionstring属性与数
据库建立连接。该属性包含了用于与数据源建立连接的相关信息,
Connectionstring属性带有 4个参数,如下表 所示。
参 数 描 述
Provide 指定连接提供者的名称
FileName 指定数据源所对应的文件名
RemoteProvide 在远程数据服务器打开一个客户端时所用的数据源名称
Remote Server 在远程数据服务器打开一个主机端时所用的数据源名称
10.4 ADO数据控件
(2)RecordSource属性
RecordSource确定具体可访问的数据,这些数据构成记录集对象
Recordset。该属性值可以是数据库中的单个表名,一个存储查询,也可
以是使用 SQL查询语言的一个查询字符串。
(3)ConnectionTimeout属性
用于数据连接的超时设置,若在指定时间内连接不成功显示超时信
息。
(4)MaxRecords属性
定义从一个查询中最多能返回的记录数。
2,ADO数据控件的方法和事件
ADO数据控件的主要方法和事件与 Data控件的方法和事件一样 。
3.设置 ADO数据控件的属性
见课本 P293。
10.4 ADO数据控件
10.5 报表制作
在 Visual Basic 6,0中,Microsoft在系统中集成了数据报表设计
器 (Data Report Designer),从而使报表的制作变得很方便。数据报表
设计器属于 ActiveX Designer组中的一个成员,在使用前需要执行, 工
程 /添加 Data Report”命令,将报表设计器加入到当前工程中,产生一个
DataReportl对象,并在工具箱内产生一个, 数据报表, 标签。
报表设计器的画面由若干区域组成,报表标头区包含整个报表最开
头的信息,一个报表只有一个报表标头,可使用, 标签, 控件建立报表
名;报表注脚区包含整个报表尾部的信息,一个报表也只有一个注脚区;
页标头区设置报表每一页顶部的标题信息;页注脚区包含每一页底部的
信息;细节区包含报表的具体数据,细节区的高度将决定报表的行高。
使用报表设计器处理的数据需要利用数据环境设计器创建与数据库
的连接,然后产生 Command对象连接数据库内的表。
? 10.1 数据库概述
? 10.2 数据库管理器
? 10.3 使用数据控件访问数据库
? 10.4 报表
10.1数据库概述
一、数据库的概念
数据库是以一定方式组织、存储及处理
相互关联的数据的集合,它以一定的数据结
构和一定的文件组织方式存储数据,并允许
用户访问。这种集合具备下述特点:
最少冗余;
数据资源共享;
数据独立性,即数据独立于使用它的应
用程序;
由统一的软件系统管理和控制数据的增
加、删除、修改和检索。
10.1数据库概述
二、数据库分类
数据库中数据的组织形式有多种,按
数据库使用的数据结构模型划分,到目前
为止,数据库可分为:
? 层次数据库:采用层次模型;
? 网状数据库:采用网状模型;
? 关系数据库:采用关系模型;
? 面向对象数据库:采用面向对象模型。
关系型数据库模型已经成为数据库设
计事实上的标准。这不仅因为关系模型自
身的强大功能,而且还由于它提供了叫做
结构化查询语言 (SQL)的标准接口。
关系型数据库把数据用表的集合表示。
行被称为记录,列则被称为字段。
VB默认的数据库是 Accesss数据库,可
以在 VB中直接创建,库文件的扩展名
为,mdb。 VB还可以处理各种外部数据库,
例如 Foxpro,Excel,Dbase等。
10.1数据库概述
关系数据库中常用的术语
? 主键( Primary Key):又称做主码,它是能够
唯一标识一条记录的一个或一组列(字段),去
掉其中的某个列后,余下的列不能唯一标识表中
的一条记录。例如,学生表中,通常可以使用学
号作为主键,但不能使用学生名字作为主键。
? 外部键( Foreign Key):它由一个或多个属性
组成,它或它们是另一个表的主键。通常使用外
部键建立表之间的关系。
10.1数据库概述
关系数据库中常用的术语
?索引:索引是加快数据库访问的一种手段,目的
是实现对数据行的快速、直接存取而不必扫描整
个表。索引通常对一个或多个列表创建,表的索
引字段的每个值在索引中都有一个入口,同时使
用指针指向具有该值的数据行。
? 视图:它是一个与真实表相同的虚拟表,用于限
制用户可以看到和修改的数据量,从而简化数据
的表达式。
? 存储过程:它是一个编译过的 SQL程序。在该过
程中可以嵌入条件逻辑、传递参数、定义变量和
执行其他编程任务
10.1数据库概述
数据库管理系统( DBMS)
数据库管理系统是基于某种数据结构模型
的、管理数据库并提供数据库访问接口的通用
软件,它通常具备下述功能:
? 数据库定义功能:提供数据定义语言 DDL,
用户使用数据定义语言能够定义数据库的结构、
数据完整性和安全性等约束条件。
? 数据库操作功能:提供数据操作语言 DML,
用户使用数据操作语言完成数据查询、插入、
删除等操作;
10.1数据库概述
? 数据库运行、控制功能:提供数据安全性
控制、数据完整性控制、多用户环境的并发控
制以及数据库恢复等;
? 数据库维护功能:提供数据加载、转储、
数据库重组、性能分析与监控等;
? 数据字典:存放数据库结构的描述等信息;
? 数据通讯功能:实现联机处理、分时处理、
分布式处理等功能。
10.1数据库概述
10.2 数据库管理器 (Visdata)
大型数据库(如 Oracle,Sybase等)不能在
Visual Basic 6.0中创建,要创建这些类型的数据
库,需要使用相应数据库管理系统提供的工具来完
成。 VB6.0提供了创建 Microsoft Access数据库和
其它一些数据库的工具 ——“可视化数据管理器, 。
在 Visual Basic开发环境内单击, 外接程序,
菜单中的, 可视化数据管理器, 选项或在操作系统
桌面上运行 Visual Basic系统目录中的
Visdata,exe,都可打开可视化数据管理器。
可视化数据管理器
10.2 数据库管理器 (Visdata)
一,创建一个数据库
(1) 选择, 可视化数据管理器, 中, 文件, 菜单中的
,新建, 菜单项用于创建数据库,若选择, 打开数据库,
则用于打开一个已经建立好的数据库。
(2) 选择, Microsoft Access”菜单项,单击该菜单项
下的, Version 7.0 MDB”菜单项,打开如图 10-3所示的
,选择要创建的 Microsoft Access数据库, 对话框。
(3) 选择新建数据库要保存的目录后,在, 文件名,
文本框中输入数据库的名称 student,也就是数据库的文
件名称。
(4)单击, 确定, 按钮关闭对话框,,可视化数据管
理器, 开始在指定的目录下创建以指定名称命名的
Microsoft Access数据库,完成数据库创建工作,
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
二、向数据库中添加数据表
操作步骤为:
( 1)在, 数据库窗口, 中右击鼠标,系统弹出一
快捷菜单,单击其中的, 新建表, 菜单项,系统将打
开, 表结构, 对话框 。
( 2)在, 表名称, 文本框中键入表名,这里键入
名称 xjb。
( 3)单击, 添加字段, 按钮,系统显示, 添加字
段, 对话框,在这个对话框中定义表的字段。在, 名
称, 文本框中输入字段名称,这里输入第一个字段
,学号, 的名称, st_No”;单击, 类型, 下拉列表框,
从中选择字段类型, Integer”;, 大小, 文本框用于
指定 Text类型字段的宽度,该长度限制了输入到这个
字段的文本字符的最大长度,选择 Text之外的数据类
型时,不需要指定宽度。单击, 确定, 按钮,这样我
们就定义了 xjb表的第一个字段。
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
10.2 数据库管理器 (Visdata)
三、数据表中数据的编辑
10.2 数据库管理器 (Visdata)
四、添加或删除索引
10.2 数据库管理器 (Visdata)
五、使用查询生成器
10.2 数据库管理器 (Visdata)
一、数据控件的概念
数据控件( Data控件)是 Visual
Basic中最常见的控件,在工具箱中
的图标为,利用它可以在应用程序
中访问前面所创建的数据库。
数据控件不能显示数据,需要与
数据绑定控件配合使用。
10.3 使用数据控件访问数据库
二、数据控件 Data的重要属性
( 1) Connect属性
Connect属性指定数据控件要连接的数据
库类型,它默认的数据库类型是 Access的
MDB文件,此外,也可连接 DBF,XLS,ODBC
等类型的数据库。
( 2) DataBaseName属性
DataBaseName属性指定要访问的数据库
文件名,它包含路径名。
10.3 使用数据控件访问数据库
( 3) RecordSource属性
RecordSource用来指定可访问的数据,
这些数据构成记录集对象 Recordset。该属
性值一般是数据库中的一个表,也可以是其
它形式。如 SQL查询等等。
10.3 使用数据控件访问数据库
三、数据绑定控件
在 Visual Basic中,数据控件本身不
能直接显示表中的数据,必须通过绑定控
件来实现。
数据绑定控件也称数据识别控件,是
指能够配合 Data控件(或其它控件),操
作数据库中数据的控件。
常用的数据绑定控件有文本框、列表
框、组合框等控件。
10.3 使用数据控件访问数据库
要使用绑定控件,必须在设计或运行时对
绑定控件的两个属性进行设置:
1,DataSource属性:通过指定一个有效
的数据控件将绑定控件连接到数据源上。
2,DataField属性:设置数据源中的字段,
使绑定控件与字段建立联系。
绑定控件、数据控件和数据库三者的关系
如图所示 。
绑定控件 数据控件 数据库
绑定控件、数据控件和数据库三者的关系
10.3 使用数据控件访问数据库
举例 1,如何显示出数据库的表的记录
使用数据绑定控件 Text,数据控件 Data。
10.3 使用数据控件访问数据库
四,Data控件的记录集的属性与方法
记录集是 Data的成员,它有自己的属性
和方法。
下面列出记录集常用的属性和方法。
1,BOF和 EOF的属性
BOF判定记录指针是否在首记录之前,若
BOF为 True,则当前位置位于记录集的第 1条
记录之前。
EOF判定记录指针是否在末记录之后。如
果 EOF的值为 True,表示记录指针在末纪录之
后,否则,在记录指针末记录之前。
10.3 使用数据控件访问数据库
2,RecordCount属性
RecordCount属性返回 Recordset中的
记录的个数,该属性为只读属性。
10.3 使用数据控件访问数据库
3,Move方法
(1)MoveFirst方法,移至第 1条记录。
(2)MoveLast方法,移至最后一条记录。
(3)MoveNext方法,移至下一条记录。
(4)MovePrevious方法,移至上一条记录。
(5)Move[n]方法 向前或向后移 n条记录,
n为指定的数值。
10.3 使用数据控件访问数据库
举例 2:说明 BOF,EOF,RecordCount,Move。
10.3 使用数据控件访问数据库
4,Find方法
(1)FindFirst方法,从记录集的开始查
找满足条件的第 1条记录。
(2)FindLast方法,从记录集的尾部向前
查找满足条件的第 1条记录。
(3)FindNext方法,从当前记录开始查找
满足条件的下一条记录。
(4)FindPrevious方法,从当前记录开始
查找满足条件的上一条记录。
10.3 使用数据控件访问数据库
FindFirst的格式为:
Data对象,数据集,FindFirst
“关键字 like ?字符常量 ’” 或者,
Data对象,数据集,FindFirst
“关键字 like ?” & 字符型变量 &,?”
例如:
xh=Trim(Inputbox(”请输入学号, ))
Data1.Recordset.FindFirst,学号 like
“? & xh &,?”
支持使用 *和?的模糊查询。
其他查询格式类似。
10.3 使用数据控件访问数据库
5,NoMatch属性
在记录集中进行查找时,如果找到相匹配的
录,则 Recordset的 NoMatch属性为 False,否则
为 True。
举例 3:说明,Find,NoMatch
10.3 使用数据控件访问数据库
6,AddNew方法
AddNew方法在记录集中增加新记录。增加
记录的步骤为:
(1)调用 AddNew方法。
(2)在捆绑类型的控件中输入数据
10.3 使用数据控件访问数据库
7,Delete方法
要从记录集中删除记录的操作分为三步:
(1)定位被删除的记录使之成为当前记录。
(2)调用 Delete方法。
(3)移动记录指针。
注意,在使用 Delete方法时,当前记录
立即删除。删除一条记录后,相应的绑定控
件仍旧显示该记录的内容。因此,需移动记
录指针,一般移至下一记录。在移动记录指
针后,应该检查 EOF属性。
10.3 使用数据控件访问数据库
8,Edit方法
Eidt方法可以用来修改当前记录的字段
内容,只需要修改相应的绑定控件内容即
可。
(1)调用 Edit方法。
(2)给各字段赋值。
注意:添加、删除、编辑记录都需要将
Data的 ReadOnly属性设置为 False。
举例说明:添加、删除、编辑
10.3 使用数据控件访问数据库
举例 4:综合举例
10.3 使用数据控件访问数据库
小结
本节难点为:删除记录后记录指针的
移动,查询记录的格式。
本节重点为:如何设置 Data控件的属
性,熟悉 Data控件最常见的属性、方法。
本节使用的技巧是,设置快捷键,文
本框、命令按钮的快捷键。
10.3 使用数据控件访问数据库
10.4 ADO数据控件
一,ADO对象模型
在 VB 中要开发数据库程序,可以使用, 数据库访问对象, 。随着
Visual Basic 的发展,在 VB6.0 中共有 3种可以使用的数据库访问对象:
ADO(ActiveX Data Object) ActiveX数据对象
RDO (Remote Data Objects) 远程数据对象
DAO (Data Access Objects) 数据访问对象
其中 ADO数据访问接口是 Microsoft处理数据库信息的最新技术。它是
一种 ActiveX对象,采用了被称为 OLE DB的数据访问模式,是数据访问对
象 DAO、远程数据对象 RDO和开放数据库互连 ODBC三种方式的扩展。 ADO对
象模型定义了一个可编程的分层对象集合,主要由三个对象成员
Connection(连接),Command(命令)和 Recordset(记录集)对象,以
及几个集合对象 Errors(错误),Parameters(参数)和 Fields(字段)
等所组成。
要想在程序中使用 ADO对象,必须先为当前工程引用 ADO的对象库。引
用方式是执行工程菜单的引用命令,启动引用对话框,在清单中选
取, Microsoft Activex Data object 2.0 Library”选项。
1,Connection(连接)对象
,连接, 是交换数据所必需的环境,通过, 连接, 可使应用程序访
问数据源。 Connection对象用于指定专门的提供者和任意参数。下表
列出 Connection对象的常用属性和方法。
ConnectionString属性 指定到数据源的连接字符串
Open方法 打开到数据源的连接
Execute方法 对连接执行各种操作
Cancel方法 取消 Open或 Execute方法的调用
Close方法 关闭打开的 Connection对象
2,Command(命令)对象
,命令, 对象描述将对数据源执行的命令。通过已建立的连接
发出的, 命令, 可以某种方式来操作数据源。一般,命令可以在数
据源中添加、删除、或更新数据,或者在表中以行的格式检索数据。
下表 列出 Command对象的常用属性和方法。
10.4 ADO数据控件
ActiveConnection属性 设置到数据源的连接信息
CommandText属性 定义命令(例如,SQL语句)的可执行文本
CommandType属性 指定命令类型以优化性能
Execute方法 执行 CommandText属性指定的操作
Cancel方法 取消 Execute方法的调用
3,Recordset(记录集)对象
,记录集, 对象描述来自数据表或命令执行结果的记录集
盒,其组成为记录(行)。常用于指定可以检查的行,移动行,
指定移动行的顺序,添加、更改或删除行,通过更改行更新数
据源等。下表 列出 Recordset对象的常用属性和方法。
10.4 ADO数据控件
ActiveConnection属性 返回 Recordset对象所属的 Connection对象。
BOF和 EOF属性 指示当前记录指针是否位于首记录前、末记录后。
Bookmark属性 返回并设置当前记录的书签
CursorType属性 指定打开 Recordset对象时应该使用的游标类型
Filter属性 设置 Recordset对象中的筛选条件
RecordCount属性 返回 Recordset对象中记录的数目
Sort属性 设置排序字段
Source属性 指定 Recordset对象的数据源,Command对象变量,SQL语句、存储过程
AddNew方法 可创建和初始化新记录
CancelUpdate方法 可取消对当前记录所作的任何更改或放弃新添加的记录
Delete方法 删除当前记录或记录组
Move方法 移动 Recordset对象中当前记录的位置
MoveFirst,MoveLast、
MoveNext和 MovePrevious方法
移动到指定 Recordset对象中的第一个、最后一个、下一个或上一个记录
并使该记录成为当前记录
Requery方法 重新执行对象所基于的查询,来更新 Recordset对象中的数据
Update方法 保存对 Recordset对象的当前记录所做的所有更改
10.4 ADO数据控件
二、使用 ADO数据控件
在使用 ADO据控件前,必须先通过, 工程 /部件, 菜单命令选择
,Microsoft ADO Data control6.0(0LE DB)”选项,将 ADO数据控件添加
到工具箱。 ADO数据控件与 Visual Basic的内部数据控件很相似,它允许
使用 ADO数据控件的基本属性快速地创建与数据库的连接。
1,ADO数据控件的基本属性
(1)ConnectionString属性
ADO控件没有 DatabaseName属性,它使用 Connectionstring属性与数
据库建立连接。该属性包含了用于与数据源建立连接的相关信息,
Connectionstring属性带有 4个参数,如下表 所示。
参 数 描 述
Provide 指定连接提供者的名称
FileName 指定数据源所对应的文件名
RemoteProvide 在远程数据服务器打开一个客户端时所用的数据源名称
Remote Server 在远程数据服务器打开一个主机端时所用的数据源名称
10.4 ADO数据控件
(2)RecordSource属性
RecordSource确定具体可访问的数据,这些数据构成记录集对象
Recordset。该属性值可以是数据库中的单个表名,一个存储查询,也可
以是使用 SQL查询语言的一个查询字符串。
(3)ConnectionTimeout属性
用于数据连接的超时设置,若在指定时间内连接不成功显示超时信
息。
(4)MaxRecords属性
定义从一个查询中最多能返回的记录数。
2,ADO数据控件的方法和事件
ADO数据控件的主要方法和事件与 Data控件的方法和事件一样 。
3.设置 ADO数据控件的属性
见课本 P293。
10.4 ADO数据控件
10.5 报表制作
在 Visual Basic 6,0中,Microsoft在系统中集成了数据报表设计
器 (Data Report Designer),从而使报表的制作变得很方便。数据报表
设计器属于 ActiveX Designer组中的一个成员,在使用前需要执行, 工
程 /添加 Data Report”命令,将报表设计器加入到当前工程中,产生一个
DataReportl对象,并在工具箱内产生一个, 数据报表, 标签。
报表设计器的画面由若干区域组成,报表标头区包含整个报表最开
头的信息,一个报表只有一个报表标头,可使用, 标签, 控件建立报表
名;报表注脚区包含整个报表尾部的信息,一个报表也只有一个注脚区;
页标头区设置报表每一页顶部的标题信息;页注脚区包含每一页底部的
信息;细节区包含报表的具体数据,细节区的高度将决定报表的行高。
使用报表设计器处理的数据需要利用数据环境设计器创建与数据库
的连接,然后产生 Command对象连接数据库内的表。