Visual Basic 程序设计教程 第十五讲 VB数据库应用(3) 本章教学内容 8.1 数据库基本知识 8.2 Data控件 8.3 ADODC控件 8.4 ADO对象模型 8.5 数据窗体向导 8.6 数据环境设计器 8.7 数据报表Data Report 本讲教学内容 8.5 数据窗体向导 8.6 数据环境设计器 8.7 数据报表Data Report 8.5 数据窗体向导 通过VB的数据窗体向导可以方便简单地生 成包含有各个被绑定控件和事件过程的窗体,管 理所绑定的数据库中的信息。“数据窗体向导” 只可以和ADO Data控件一起使用。使用数据窗体 向导的步骤如下: ⑴ 单击菜单“外接程序”---“外接程序 管理器”,弹出“外接程序管理器”界面,在可 用的外接程序中选择“VB 6数据窗体向导”,并 选中“加载”复选框,如下图所示。 ⑵ 单击“确定“按钮后,将会在“外接 程序”菜单中增加“数据窗体向导”子菜单,单 击该子菜单弹出“数据窗体向导”窗口,如下图a 所示,单击“下一步”按钮,然后选择数据库类 型为“Access”,如下图b所示。 a b ⑶ 在第三步中选择数据库所在的路径, 这里选d:\VB\supermarket.mdb,如下图所示。 ⑷

Download Report

Transcript Visual Basic 程序设计教程 第十五讲 VB数据库应用(3) 本章教学内容 8.1 数据库基本知识 8.2 Data控件 8.3 ADODC控件 8.4 ADO对象模型 8.5 数据窗体向导 8.6 数据环境设计器 8.7 数据报表Data Report 本讲教学内容 8.5 数据窗体向导 8.6 数据环境设计器 8.7 数据报表Data Report 8.5 数据窗体向导 通过VB的数据窗体向导可以方便简单地生 成包含有各个被绑定控件和事件过程的窗体,管 理所绑定的数据库中的信息。“数据窗体向导” 只可以和ADO Data控件一起使用。使用数据窗体 向导的步骤如下: ⑴ 单击菜单“外接程序”---“外接程序 管理器”,弹出“外接程序管理器”界面,在可 用的外接程序中选择“VB 6数据窗体向导”,并 选中“加载”复选框,如下图所示。 ⑵ 单击“确定“按钮后,将会在“外接 程序”菜单中增加“数据窗体向导”子菜单,单 击该子菜单弹出“数据窗体向导”窗口,如下图a 所示,单击“下一步”按钮,然后选择数据库类 型为“Access”,如下图b所示。 a b ⑶ 在第三步中选择数据库所在的路径, 这里选d:\VB\supermarket.mdb,如下图所示。 ⑷

Visual Basic
程序设计教程
第十五讲
VB数据库应用(3)
本章教学内容
8.1 数据库基本知识
8.2 Data控件
8.3 ADODC控件
8.4 ADO对象模型
8.5 数据窗体向导
8.6 数据环境设计器
8.7 数据报表Data Report
本讲教学内容
8.5 数据窗体向导
8.6 数据环境设计器
8.7 数据报表Data Report
8.5 数据窗体向导
通过VB的数据窗体向导可以方便简单地生
成包含有各个被绑定控件和事件过程的窗体,管
理所绑定的数据库中的信息。“数据窗体向导”
只可以和ADO Data控件一起使用。使用数据窗体
向导的步骤如下:
⑴ 单击菜单“外接程序”---“外接程序
管理器”,弹出“外接程序管理器”界面,在可
用的外接程序中选择“VB 6数据窗体向导”,并
选中“加载”复选框,如下图所示。
⑵ 单击“确定“按钮后,将会在“外接
程序”菜单中增加“数据窗体向导”子菜单,单
击该子菜单弹出“数据窗体向导”窗口,如下图a
所示,单击“下一步”按钮,然后选择数据库类
型为“Access”,如下图b所示。
a
b
⑶ 在第三步中选择数据库所在的路径,
这里选d:\VB\supermarket.mdb,如下图所示。
⑷ 在第四步中自己定义一个窗体的名称、
选择你所需的布局和绑定的类型,如下图所示。
选择以单个记录形式绑定ADO数据控件,窗体名
称为“供应商信息”。
⑸ 在第五步中选择记录源为表
“provider”以及需要显示的字段,如
下图所示。
⑹ 在第六步中选择所需要的控件,如
下图所示。
⑺ 在第七步中可以把您的设置保存在一
个 后 缀 名 为 .rwp 的 文 件 中 , 最 后 单 击
“完成”按钮。
运行结果如下图所示。
8.6 数据环境设计器
数 据 环 境 设 计 器 (Data Environment
designer)为访问数据库提供了一个很好的交
互环境和图形接口。在设计时,可以拖动数
据环境中的对象到窗体或报表中方便地创建
数据绑定的控件;也可以对数据环境中的
Connection和Command对象编写代码响应
ADO事件。
一、打开数据环境设计器
从 菜 单 “ 工 程 ” 中 选 择 “ 添 加 Data
Environment”可以添加一个数据环境设计器对
象到一个VB工程中,如下图所示。
下面是数据环境设计器窗口中常用的各个
工具栏图标。
⑴
添加一个新的Connection对象。
⑵
添加一个新的Command对象。
⑶
打开“插入存储过程...”对话框。从一个
特定连接中可使用的存储过程列表中创建一个或
多个Command对象。
⑷
添 加 一 个 子 Command 到 当 前 选 定 的
Command对象。
⑸
删除当前选定的Command或Connection
对象。
⑹
刷 新 当 前 选 定 的 Command 或
Connection对象。
刷新一个Connection对象时,如果该连接是打
开的,则先关闭连接,然后重新打开它。该连接
所连接的列表、存储过程、视图也被刷新。
刷新一个Command对象的同时也刷新了它所有
的存储元数据,例如字段和参数信息。对表或存
储过程定义的任何更改在刷新后会反映在
Command对象中。
需要注意的是在刷新期间,所有用户定义的属性
设 置都会 丢失 。 对于Field对象 ,其Caption 和
Control属性被重新设置为它们的缺省值。对于
Parameter对象,将重新设置Name、Direction、
DataType 、 HostDataType 、 Precision 、 Scale 、
Size 和Value属性。
⑺
当command数据源是文本时,访
问一个Command对象的查询设计器。
⑻
打 开 选 定 的 Command 、 Connection或
Field对象的“属性”对话框。
⑼
打开代码窗口。
⑽
打开“选项...”对话框。
⑾
按照Connection排列,显示按照连接分组
的对象,与之相关联的所有Command对象列在
Connection对象的下面。
⑿
按照Object排列,将相同类型的对象组合
在一起。便于快速地定位一个对象。
二、Connection对象
1. 数据环境通过Connection对象访问
数据库。因此,每个数据环境至少包括一个
Connection对象。
2. 在设计时,数据环境打开Connection对象的连
接并从该连接中获得数据源,包括数据库名、表
结构和过程参数。
3. 当把数据环境设计器添加到一个工程中,数据
环境设计器就自动地创建一个Connection1对象。
用户单击DataEnvironment1和Connection1,可
在属性窗口修改他们的名称。例如,把Data
Environmem对象名称设置为
“DEsupermarket”,将Connection1对象名称
设置为“Cnnsupermarket”。
4. 在数据环境设计器中定义一个Connection对象
的属性,就是建立了一个和数据库的连接,其步
骤与ADODC控件的ConnectionString属性设置
相同。在Connection对象上单击鼠标右键,在快
捷菜单中选择“属性”,则弹出“数据连接属性”
对话框中。在“提供者”选项卡中选“Microsoft
Jet 3.51 OLE DB Provider”,单击“下一步”
按钮,然后选择所需的数据库名称,例如
d:\VB\supermarket.mdb,单击“测试连接”按
钮,如果测试成功则建立了连接。
三、Command对象
Command对象定义了从一个数据库连接中获
取何种数据的详细信息。Command对象既可以基
于一个数据库对象,如一个表、视图等,也可以
基于一个结构化查询语言(SQL)查询。必须先
设置好Connection对象的属性,也即建立了数据
库 的 连 接 后 , 才 可 以 有 Command 对 象 。 创 建
Command对象的步骤如下:
⑴ 选 择 数 据 环 境 窗 口 中 的 Connection 对 象
(CnnSupermarket),单击数据环境设计器工
具栏上的“添加命令”按钮,或用单击鼠标右键,
选择快捷菜单中的“添加命令”。
⑵ 在属性窗口输入Command的对象名
“CmmProvider”。
⑶ 鼠标右键单击Command对象,选择″属性″打
开属性选项卡,如下图所示。选择连接的对象为
“CnnSupermarket”,数据库对象选择为
“表”,对象名称中选择表“provider”。
完成之后将在Data Environment设计
器中看到如下图所示的结构。
在前面的建立连接和创建Command对象中,
分 别 建 立 一 个 Cnnsupermarket 对 象 和
CmmProvider对象,其属性设置如下表所示。
对象
名称
属性
值
Connection
Cnnsupermar
ket
Provider
Microsoft Jet 3.51 OLE
DB Provider
Data Source
d:\vb\supermarket.mdb
CommandType
adCmdTable
CommandText
数据表provider
Command
CmmProvider
四、创建用户界面
使用数据环境设计器创建一个用户界面是非
常简单的。只要打开一个窗体(如果当前的工程
中没有窗体,可以添加一个新的窗体),并把需
要显示的字段用鼠标拖到窗体中去即可。运行该
窗体就可以显示出第一条记录的内容,如下图所
示。
窗体中各个控件的属性已自动设置了,例
如显示“供应商”字段的文本框Name属性为“txt
供应商名称”,DataSource属性为
“DEsupermarket”(数据环境设计器名),
DataMember属性为“CmmProvider”,
DataField属性为“供应商名称”(字段名)。用
户可以重新设置这些控件的数据绑定属性,也可
以通过增加控件并编写相应代码完善该窗体的功
能。
数据环境设计器不能显示数据,它必须借助于
相应的数据绑定控件来显示所连接的数据内容。
这一点和前面所接触的ADODC控件是一样的。
【例8-5】 要求通过DataGrid控件显示数据环境设
计器所连接的内容。程序运行界面如下图所示。
设计步骤如下:
①新建一个工程,通过“工程”---“添加Data
Environment”,向该工程中添加一个数据环境
设计器,默认名称为DataEnvironment1。(这里
可以根据需要鼠标右键单击DataEnvironment1,
从弹出的快捷菜单中选择“添加连接”,例如,
添加一个新的连接Connection2。)
②鼠标右键单击Connection1,从弹出的快捷菜
单中选择“属性”,设置连接到
supermarket.mdb。
③鼠标右键单击Connection1,从弹出的快捷菜
单中选择“添加命令”,添加一个命令Command1,
再鼠标右键单击该Command1,从弹出的快捷菜
单中选择“属性…”,设置Command1的属性。
在命令名称中重命名为Cmmprovider,在数据源
中选择“表”,并从下拉列表中选择“provider”。
④重复第二步,新建另外一个命令Command2,
并重命名为CmmGoods,在数据源中选择“表”,
并从下拉列表中选择“Goods”。
⑤ 添 加 2 个 CommandButton , 分 别 是
Command1和Command2,设置其Caption属性
分别为“显示供应商信息”,“显示商品信息”。
⑥在程序运行中设置DataGrid控件的属性,代码
如下:
Private Sub Command1_Click()
Set DataGrid1.DataSource =
DataEnvironment1
‘数据环境的名称为DataEnvironment1
DataGrid1.DataMember = "Cmmprovider"
‘Command对象的名称为Cmmprovider
End Sub
Private Sub Command2_Click()
Set DataGrid1.DataSource =
DataEnvironment1
DataGrid1.DataMember = "Cmmgoods"
End Sub
8.7 数据报表Data Report
一、创建一个简单的数据报表
报表在进行数据库的处理时,常常要用到,
通过写程序来实现是非常麻烦的,VB提供了一个
报表生成器Data Report,通过它可以进行快速简
单的报表制作。
【例8-6】 要求使用数据环境设计器连接数据源,
利用Data Report创建一个简单数据报表。显示并
打印数据库supermarket.mdb中数据表provider
的内容。
设计步骤如下:
⑴ 新建一个工程,通过菜单“工程”---“添加
Data Environment”,向该工程中添加一个数据
环境设计器,默认名称为DataEnvironment1。设
置 其 中 的 Connection1 对 象 的 属 性 连 接 到
d:\vb\supermarket.mdb。
⑵ 添加一个Command对象并设置属性连接到表
“provider”。
⑶ 通过菜单“工程”---“添加Data
Report”,添加一个Data Report到该工程中。
Data Report的初始界面如下图所示。
它有五个区域,分别是报表标头
(Section4),页标头(Section2),细节
(Section1),页注脚(Section3),和报表注
脚(Section4)。通过查看属性窗口,可以看到
Data Report本身以及这五个区域都是对象。如下
图所示。
默认名从Section1
至Section5每个区
域均是一个对象
⑷ 在 属 性 窗 口 中 设 置 Data Report 的
DataSource 属 性 为 Data Environment1 ,
DataMember属性为Command1。
⑸ 从数据环境设计器中拖动需要在报表中显示的
字段放到细节区域中,如下图所示。
⑹ 在 窗 体 Form1 上 添 加 一 个 按 钮
command1,改Caption属性为“显示报表”,并
在其Click事件中输入如下的代码。
Private Sub Command1_Click()
DataReport1.Show
End Sub
⑺ 保存该窗体和工程,保存数据环境设计器,保存
报表设计器,运行该工程,单击“显示报表”按
钮,就可以显示报表的预览窗口了。如下图所示。