Download - 第 7 章 Visual Basic 与数据库访问 7.1 数据库概述 7.2 Access 数据库基础 7.3 结构化查询语言( SQL ) 7.4 Data 控件

Transcript
Page 1: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用1

第第 77 章章 Visual BasicVisual Basic 与数据库访问与数据库访问 7.1 7.1 数据库概述数据库概述

7.2 Access7.2 Access 数据库基础数据库基础

7.3 7.3 结构化查询语言(结构化查询语言( SQLSQL ) )

7.4 Data7.4 Data 控件控件

7.5 ADO7.5 ADO 数据控件数据控件

7.6 7.6 使用数据窗体向导使用数据窗体向导

【请注意】本章例题涉及到的文件路径及文件为:【请注意】本章例题涉及到的文件路径及文件为:

D:\VB\computer.mdbD:\VB\computer.mdb

Page 2: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用2

7.1.1 7.1.1 数据库的基本概念数据库的基本概念 11 ..数据库系统数据库系统

数据库系统( Data Base System , DBS )是指以数据库方式管理的拥有大量共享数据的计算机应用系统。

22 .数据库管理系统.数据库管理系统

数据库管理系统( Data Base Management System , DBMS )是指能够帮助用户使用和管理数据库的软件系统。

33 ..数据库数据库

数据库( Data Base , DB )是指以一定的组织方式存储在一起的、能够为多用户共享的、并且独立于应用程序的相互关联的数据集合。

Page 3: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用3

7.1.1 7.1.1 数据库的基本概念数据库的基本概念 44 ..数据库应用程序数据库应用程序

数据库应用程序是指针对实际工作的需要,而开发的各种基于数据库管理方式的应用程序。

55 ..用户用户

用户是指最终操作使用应用程序的人员和数据库管理员。

7.1.2 7.1.2 关系数据库的基本概念关系数据库的基本概念 11 ..什么是关系数据库什么是关系数据库

数据库存储的是经过组织的、结构化的数据,数据组织可以采用不同的数据模型。目前大多数的数据库管理系统都是基于关系模型的。

Page 4: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用4

7.1.2 7.1.2 关系数据库的基本概念关系数据库的基本概念22 ..关系数据库的概念关系数据库的概念

( 1 )数据库

( 2 )数据表( Table ,简称表)

( 3 )记录( Record )

( 4 )字段( Field )

( 5 )关键字

( 6 )索引

( 7 )关系

Page 5: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用5

7.1.3 7.1.3 数据访问基础数据访问基础数据访问是指用 VB 开发应用程序的前端,前端程序负责与用户交互,可以选择数据库中的数据,并将所选择的数据按用户的要求显示出来。数据库系统本身称为后端,后端数据库通常是关系表的集合,为前端提供数据。

11 .. VBVB 访问数据库的类型 访问数据库的类型

在 VB 中可以访问的数据库有以下三类:

( 1 ) Jet 数据库

( 2 ) ISAM 数据库(索引顺序访问方法数据库)

( 3 ) ODBC (开放式数据库连接)

Page 6: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用6

7.1.3 7.1.3 数据访问基础数据访问基础22 .. VBVB 访问数据的接口访问数据的接口

在 VB 6.0 中,可以使用的数据访问接口有 3 种:

( 1 )数据访问对象( Data Access Objects , DAO )

( 2 )远程数据对象( Remote Data Objects , RDO )

( 3 ) ActiveX 数据对象( ActiveX Data Objects ,ADO )

33 .. VBVB 访问数据库的方法简介访问数据库的方法简介

VB 访问数据库的方法一般可分为三种:数据控件法、 使用数据库对象变量进行编程、 直接调用 ODBC2.0API 。

Page 7: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用7

7.2 Access7.2 Access 数据库基础数据库基础 Microsoft Access 2000 是 Office 2000 的组件之一,是微软公司开发的面向 Windows 平台的桌面数据库管理系统。

Access 具有灵活方便、易于使用的特点,成为办公及个人数据库管理的主流软件。

7.2.1 Access7.2.1 Access 数据库的组成数据库的组成 Access 中的数据库文件与 XBASE 类的数据库文件不同,它在存储表的同时,还存储了其他对象。

Access 将这些对象有机地结合在一起,构成一个完整的数据库应用系统。

Page 8: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用8

7.2.1 Access7.2.1 Access 数据库的组成数据库的组成11 .. Access 2000Access 2000 的主窗口的主窗口

成功地安装了 Access 2000 之后,即可使用各种运行应用程序的方法来启动它。

22 ..创建和打开数据库创建和打开数据库

33 .数据库文件包含的对象.数据库文件包含的对象

( 1 )表( Table )

表是 Access 数据库中用于存储数据的对象,是数据库最基本的对象。

( 2 )查询( Query )

查询是用于对数据进行操作访问的对象。

Page 9: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用9

7.2.1 Access7.2.1 Access 数据库的组成数据库的组成 ( 3 )窗体( Form )

在窗体中建立控件对象,能够使操作窗体更快捷,并使窗体具有更强的数据处理功能。

( 4 )报表( Report )

报表用于将表中的数据有选择地集合在一起,产生一份打印报表。

( 5 )宏( Macro )

利用宏语句将一个或多个操作动作集合在一起,创建一个简单的应用程序。

( 6 )模块( Module )

( 7 )数据访问页( Page )

Page 10: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用10

7.2.2 7.2.2 创建和编辑数据表创建和编辑数据表在 Access 中,创建和编辑数据表的方法有多种 :

11 ..用表向导创建表用表向导创建表

表向导为 Access 初学者提供了建立表的简便方式,能够引导用户进行操作。

22 ..用设计视图创建表的基本概念用设计视图创建表的基本概念

使用设计视图创建表,首先要了解、掌握关于表的相关概念和规定。

( 1 )字段名

表中每个字段都要有一个名称,字段名要符合 Access 的命名规则 。

Page 11: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用11

7.2.2 7.2.2 创建和编辑数据表创建和编辑数据表( 2 )数据类型

Access 能够处理多种数据类型,体现了其较强的数据处理能力。(表 7-1 列出了 Access 的数据类型及占用空间 )

( 3 )说明

在定义表结构的界面中,数据类型右侧的说明中,可以填入相关的文字,便于了解该字段的含义和作用。

( 4 )字段属性

字段属性是对字段存放的数据类型做进一步的定义。

Page 12: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用12

7.2.2 7.2.2 创建和编辑数据表创建和编辑数据表33 .用设计视图创建表的基本操作 .用设计视图创建表的基本操作

44 .修改表的结构 .修改表的结构

( 1 )增加字段

( 2 )删除字段

( 3 )修改字段

55 .数据编辑.数据编辑

( 1 )输入数据

( 2 )修改数据

( 3 )删除记录

Page 13: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用13

7.2.3 7.2.3 建立表间关系建立表间关系Microsoft Access 是一个关系型数据库系统,其特点是把一些单独存放的数据根据彼此的关联性建立起一种关系,将存放在不同数据表中的数据,按照它们之间的关联性联合在一起进行处理。

11 ..关系的种类关系的种类

关系的种类分为一对一、一对多和多对多三种。

22.建立表关系的基本过程.建立表关系的基本过程

33 ..编辑关系编辑关系

关系可以删除,也可以进行修改。关系可以删除,也可以进行修改。

Page 14: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用14

7.2.4 7.2.4 创建和使用查询创建和使用查询查询( Query )是数据库管理系统的重要功能之一,在实际工作中经常用到。

在 Access 中可以使用设计视图的方式查询,也可以使用向导查询的方式。 Access 提供了多种查询方法:

(以下查询的例题在 computer.mdb 数据库的查询中)

11 .单表查询字段(查询.单表查询字段(查询 11 ))

22 .单表条件查询(查询.单表条件查询(查询 22 ))

33 .多表查询并计算(查询.多表查询并计算(查询 33 ))

44 ..用查询做数据源进行查询用查询做数据源进行查询(查询(查询 44 ))

55 .参数查询(查询.参数查询(查询 55 ))

66 ..使用向导创建查询使用向导创建查询

Page 15: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用15

7.3 7.3 结构化查询语言(结构化查询语言( SQLSQL )) SQL 是结构化查询语言( Structured Query Language )的缩写,是一种功能全面的数据库查询语言。

使用 SQL 可以完成更新数据、提取数据等各种操作,具有功能丰富、简洁易学、使用方式灵活等特点。

SQL 语言于 1974年被提出后,经过发展已经成为关系数据库语言的国际标准,深受关大用户的喜爱。

Page 16: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用16

7.3.1 SQL7.3.1 SQL 的基本概念的基本概念11 ..何谓何谓 SQLSQL

SQL 是一种经过优化的语言,采用专门的数据库技术和算法来提高数据库的访问速度。目前主要的关系数据库管理系统都支持 SQL ,因此用 SQL 编写的程序是可以移植的。在 SQL 中,规定了几个动词去完成其核心功能 ,语法简单,便于学习掌握。

22 .. SQLSQL 语言的组成语言的组成

SQL 语言包括查询、操纵、定义、控制等几部分,通过相应的命令动词实现其功能。

( 1 )数据定义

( 2 )数据查询

Page 17: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用17

7.3.1 SQL7.3.1 SQL 的基本概念的基本概念 ( 3 )数据操纵

( 4 )数据控制

7.3.2 7.3.2 数据的查询数据的查询SQL 的核心技术是数据查询,查询语句 SELECT 以自然化的语言形式实现了各种查询功能。

(以下查询的例题在 computer.mdb 数据库的查询中)

11 .. SQLSQL 示例(查询示例(查询 66 ) )

22 ..语句的基本格式语句的基本格式

( 1 )基本格式

( 2 )功能说明

Page 18: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用18

7.3.2 7.3.2 数据的查询数据的查询3 .关系运算符和常用函数

( 1 )关系运算符

( 2 )合计函数

44 ..查询语句(查询语句( SELECTSELECT )示例)示例

( 1 )关于 IN 的示例(查询 8 )

运算符 IN 表示在一组值中进行匹配查找,如同“ =” 和“ OR” 的组合使用。

( 2 )关于 LIKE 的示例(查询 9 )

运算符 LIKE 表示查找与 LIKE 后跟随的通配符相匹配的数 据,用于模糊查找。

Page 19: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用19

7.3.2 7.3.2 数据的查询数据的查询( 3 )关于 BETWEEN…AND… 的示例(查询 10 )

范围运算符 BETWEEN…AND… 表示查找数据的范围,相当于“与”逻辑表达式的作用。

( 4 )关于函数的示例(查询 12 )

能够正确使用 SQL 提供的函数,可以在查询的同时完成一定的统计汇总工作 。

Page 20: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用20

7.3.3 7.3.3 数据的新增数据的新增要在表中增加数据,使用 SQL 的 INSERT 语句。

11 ..语句的基本格式语句的基本格式

  INSERT INTO 表名称 VALUES (字段 1 的数据,字

段 2 的数据,……)

该语句将 VALUES 提供的数据送到表名称所指定的表中。

22 ..应用实例应用实例

INSERT INTO USER VALUES ("900006" ,"市财政局 ", "33661478")

Page 21: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用21

7.3.4 7.3.4 数据的删除数据的删除要删除表中原有的数据,使用 SQL 的 DELETE 语句。

11 ..语句的基本格式语句的基本格式

  DELETE *

FROM 表名称

WHERE 条件

该语句将删除表名称所指定的表中满足条件的记录。

22 ..应用实例应用实例(查询 16 )

Page 22: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用22

7.3.5 7.3.5 数据的修改数据的修改要修改表中的数据,使用 SQL 的 UPDATE 语句。

11 .语句的基本格式.语句的基本格式

UPDATE 表名称

SET 字段 1=新数据 1 ,字段 2=新数据 2 ,……

WHERE 条件

该语句将在表名称所指定的表中,对于满足条件的记录,用新数据替换原来字段中的内容。

22 ..应用实例应用实例(查询 13 )

Page 23: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用23

7.4 Data7.4 Data 控件控件Data 控件(数据控件)是 VB 中访问数据库的重要控件,使用它能够方便、快捷地完成对数据库的访问。

利用它只需编写少量的代码,以至不使用代码也可以完成与数据库有关的各种操作。

7.4.1 Data7.4.1 Data 控件示例控件示例 11 ..示例要求及运行界面 (示例要求及运行界面 ( prjexp7_1(P214).vbpprjexp7_1(P214).vbp ))

22 ..操作说明操作说明

用 Access 2000 创建的数据库不能被 VB 6.0 的 Data 控件直 接访问,需要转换成低版本的数据库。

Page 24: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用24

7.4.2 Data7.4.2 Data 控件的常用属性、方法控件的常用属性、方法和事件和事件使用 Data 控件访问数据库,需要掌握常用的属性、方法和事件,才能够对数据库做进一步的访问和处理。

11 .. DataData 控件的常用属性控件的常用属性

( 1 ) Connect 属性

Connect 属性用于设置要连接的数据库类型。

( 2 ) DatabaseName 属性

DatabaseName 属性用于设置被访问的数据库的路径和文件名。

Page 25: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用25

7.4.2 Data7.4.2 Data 控件的常用属性、方法控件的常用属性、方法和事件和事件( 3 ) RecordSource 属性

RecordSource 属性用于设置数据的来源,可以是表或查询的结果。

( 4 ) Exclusive 属性

Exclusive 属性用于设置打开数据库的方式。

( 5 ) ReadOnly 属性

ReadOnly 属性设置数据库是否以只读方式打开。

Page 26: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用26

7.4.2 Data7.4.2 Data 控件的常用属性、方法控件的常用属性、方法和事件和事件22 .. DataData 控件的常用方法控件的常用方法

( 1 ) UpdateRecord 方法

( 2 ) UpdateControls 方法

( 3 ) Refresh 方法

33 .. DataData 控件的常用事件控件的常用事件

( 1 ) Reposition 事件

( 2 ) Validate 事件

( 3 ) Error 事件

Page 27: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用27

7.4.2 Data7.4.2 Data 控件的常用属性、方法控件的常用属性、方法和事件和事件44 .主要事件和方法的示例(.主要事件和方法的示例( prjexp7_2(P215).vbpprjexp7_2(P215).vbp ) )

55 .数据绑定控件.数据绑定控件

使用 Data 控件建立了对数据库的访问,但是 Data 控件本身没有提供显示数据的功能,在和数据库连接以后,要和具有数据感知的控件(也称为绑定控件或约束控件)配合使用。

在 VB 中,能够和 Data 控件绑定的控件可以是内部控件,也可以是外部控件。

数据绑定控件通过三个属性的设置完成与 Data 控件的绑定。

Page 28: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用28

7.4.3 7.4.3 记录集对象(记录集对象( RecordsetRecordset ))记录集对象用来表示一个和多个数据表中字段对象的集合,可以来自数据库表中的数据,或者一次查询得到的结果。

记录集( Recoreset )的类型有三种,可以通过 RecordsetType 属性设置。

① Table (表类型记录集)

② Dynaset (动态类型记录集)

③ Snapshot (快照类型记录集)

Page 29: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用29

7.4.3 7.4.3 记录集对象(记录集对象( RecordsetRecordset ))11 .. RecordsetRecordset 的方法的方法

( 1 ) Move 方法

通过 Move 方法可以在记录集中定位当前记录的位置。一般形式为:

 Recordset.Move Numrecords , Star

( 2 ) Find 、 Seek 方法

在记录集中查找满足条件的记录,可以使用 Find 或 Seek方法。 Seek 方法能够在 Table 型的记录集中查找,而且需要和索引配合使用。其他类型的记录集可以使用 Find 方法:FindFirst 、 FindLast 、 FindPrevious 和 FindNext 。

Page 30: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用30

7.4.3 7.4.3 记录集对象(记录集对象( RecordsetRecordset ))( 3 ) AddNew 、 Delete 、 Edit 、 Update 和 CancelUpdate 方法

( 4 ) Close 方法

关闭指定的记录集,释放其占用的系统资源。

22 .. RecordsetRecordset 的属性的属性

( 1 ) RecordCount 属性

表示 Recordset 对象中的记录个数。

( 2 ) Bookmark 属性

书签属性用于标识记录集中的记录位置。

Page 31: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用31

7.4.3 7.4.3 记录集对象(记录集对象( RecordsetRecordset ))( 3 ) Fields 属性

记录集中字段对象的集合。

( 4 ) Nomatch 属性

用于判断查找记录时是否找到。 Nomatch 属性为 True 时表示没有找到,否则为 False 时表示找到。

(关于记录集的例题请参阅 例题 prjexp7_3(P218).vbp )

Page 32: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用32

7.4.4 Data7.4.4 Data 控件应用实例控件应用实例11 .应用实例一(.应用实例一( prjexp7_4(P219).vbpprjexp7_4(P219).vbp ))

( 1 )窗体及其控件的属性设置

( 2 )程序代码

22 .应用实例二.应用实例二(( prjexp7_5(P223).vbpprjexp7_5(P223).vbp ))

( 1 )窗体及其控件的属性设置

( 2 )程序代码

Page 33: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用33

7.5 ADO7.5 ADO 数据控件数据控件ADO ( ActiveX Data Objects ): ActiveX 数据对象,作为 DAO 、 RDO 的后继产物,代替了原来的数据访问接口,是微软公司提出的长期的数据访问战略。

ADO 对象模型定义了可编程的分层的对象集合,与其他的数据访问对象相比, ADO包含的对象较少,更便于掌握和使用。

ADO 数据控件与 VB 的内部控件( Data 控件)和远程数据控件( RDC )很相似。用 ADO 数据控件可以快速建立数据绑定控件和数据库之间的连接。

Page 34: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用34

7.5.1 ADO7.5.1 ADO 数据控件示例数据控件示例11 ..示例要求及运行界面(示例要求及运行界面( prjexp7_6(P226).vbpprjexp7_6(P226).vbp ))

在 VB 中连接 D : \VB\COMPUTER.MDB 数据库文件,将 USER 表(用户表)中的 3 个字段,通过 ADO 数据控件连接到 VB 的用户界面中。

22 ..操作说明操作说明

VB 的标准控件工具箱中没有 ADO 数据控件,需要将 ADO 数据控件添加到当前工程的工具箱中。

Page 35: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用35

7.5.2 ADO7.5.2 ADO 数据控件的常用属性、数据控件的常用属性、方法和事件方法和事件ADO 数据控件与 Data 控件的属性、方法和事件很相似,有些是相同的。

11 .. ADOADO 数据控件的常用属性数据控件的常用属性

( 1 ) ConnectionString 属性

ConnectionString 属性用来建立当前应用程序到数据源的连接信息。 VB 的 ADO 对象模型可以连接不同类型的数据库,也可以通过不同的方式进行连接。

( 2 ) RecordSource 属性

RecordSource 属性设置要连接的表,也可以是一个 SQL 查询语句。

Page 36: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用36

7.5.2 ADO7.5.2 ADO 数据控件的常用属性、数据控件的常用属性、方法和事件方法和事件 ( 3 ) CommandType 属性

CommandType 属性用于确定 RecordSource 属性的可选取的类型,有四种可选的类型。

( 4 ) UserName 和 Password 属性

设置 UserName (用户名)和 Password (口令)的属性,在访问受保护 的数据库时是必要的。

( 5 ) BOFAction 和 EOFAction 属性

可以利用这两个属性给定的可选择的常量,确定 ADO 数据控件所采取的操作。

Page 37: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用37

7.5.2 ADO7.5.2 ADO 数据控件的常用属性、数据控件的常用属性、方法和事件方法和事件 ( 6 ) ConnectionTimeout 属性

ConnectionTimeout 属性用于设置在建立一个连接时,系统等待的时间,以秒为单位。

22 .. ADOADO 数据控件的常用方法数据控件的常用方法

( 1 ) MoveFirst 、 MoveLast 、 MovePrevious 和 MoveNext 方法

这 4 个方法分别表示移动到记录集的首记录、末记录、上一条记录和下一条记录。

Page 38: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用38

7.5.2 ADO7.5.2 ADO 数据控件的常用属性、数据控件的常用属性、方法和事件方法和事件 ( 2 ) Find 方法

在记录集中查找满足条件的记录。

( 3 ) AddNew 、 Delete 、 Update 和 CancelUpdate方法

( 4 ) Close 方法

关闭指定的记录集,释放其占用的系统资源。

Page 39: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用39

7.5.2 ADO7.5.2 ADO 数据控件的常用属性、数据控件的常用属性、方法和事件方法和事件 33 .. ADOADO 数据控件的常用事件数据控件的常用事件

( 1 ) WillMove 和 MoveComplete 事件

( 2 ) WillChangeField 和 FieldChangeComplete 事件

( 3 ) WillChangeRecord 和 RecordChangeComplete事件

7.5.3 ADO7.5.3 ADO 数据控件应用实例数据控件应用实例 11 .. 窗体及其控件的属性设置窗体及其控件的属性设置 (( prjexp7_7(P230).vbprjexp7_7(P230).vbpp ))

22 ..程序代码程序代码

Page 40: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用40

7.6 7.6 使用数据窗体向导使用数据窗体向导 VB 提供了非常便捷的访问数据库的方法,同时它还提供了创建用户数据窗体的向导。

在向导的引导下,可以非常轻松地创建 ADO 数据控件和约束控件,并且形成用户的窗体。

7.6.1 7.6.1 添加数据窗体向导添加数据窗体向导VB 的数据窗体向导是作为外接程序提供的,在没有加载该功能时,它不出现在系统菜单中,因此需要将它添加到菜单中才能使用。

Page 41: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用41

7.6.2 7.6.2 使用数据窗体向导使用数据窗体向导 ① 选择【外接程序】→【数据窗体向导】命令 。

②选择数据库的类型。

③ 在出现的第三个向导对话框中确定要连接的数据库。

④ 在文本框中输入要创建窗体的名称 。

⑤ 选择所需的字段。

⑥ 选择需要添加到窗体上的控件按钮。

⑦ 单击【完成】按钮。

⑧ 可以在创建的数据窗体中进行其他设置。

(关于数据窗体的例题请参阅例题 prjexp7_8(P236).vbp )

Page 42: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用42

习题习题 777-7 在 Access 中,建立名为“资产”的数据库,用设计视图的方式创建两个表,数据结构如表 7-10 和表 7-11 所示。 (祥见教材)

解题思路:

1. 启动 Access 后,建立名为“资产”的数据库文件。

2.然后按照教材中表 7-10 和表 7-11 中对各字段的描述,建立数据表。表中的字段名可以用英文、拼音或中文,教材中使用的是拼音。其中关于标题的中文设置,是为了用户对数据操作时直观,能够起到提示作用。

7-9 在 7-7题建立的表中输入以下数据,如图 7-55 所示,并完成相应处理。

( 1 )在实验室资产表中查询价格 >1000 的记录,字段含:资产名称、价格和购买日期三个字段。

Page 43: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用43

( 2 )将两个表按照 ZCBH (资产编号)建立关系,查询JG (价格)大于 5000 且 JYRQ (借用日期)超过 1999年11月的记录,字段含:资产名称、借用人、价格和借用日期 4 个字段。

( 3 )建立参数查询,可以在实验室资产表中,按资产编号查询。字段含:资产编号、资产名称、是否归还、价格等四个。

解题思路:

1. 按照教材图 7-55 所示的数据,分别在“实验室资产”表和“资产借用”表中输入数据。

2. 在“数据库”窗口中新建查询,选择“设计视图”方式后,将“实验室资产”表和“资产借用”表添加到“选择查询”窗口中。

3. 按照( 1 )、( 2 )、( 3 )题目的要求,设计相应的查询。

Page 44: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用44

7-10 写出下列 SQL 语句。

( 1 )在实验室资产表中查询价格超过 7000元的所有示波器的记录,字段含:资产名称、规格和价格 3 个字段。

( 2 )更新资产编号为“WYB3-1-1”资产的 GG (规格)为“ TES-2207” 、 JG (价格)为 460 。

解题思路:

1. 在第( 1 )题中,用 SELECT 选择所需的字段, FROM 确定表,在 WHERE 中设定条件,其中“所有示波器” ,用 Like “* 示波器”表示。

2. 在第( 2 )题中,更新操作是通过 SQL 的 UPDATE 语句实现的。用 SET 设置具体的更新对象和内容。

Page 45: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用45

7-12 将“资产”数据库中“实验室资产”表的数据,用 Data 控件的方法在窗体中显示,并实现对数据库的添加、删除、更新 3项操作。运行界面见教材图 7-56 。

解题思路:

1. 按照图 7-56 设计该题的界面。

2. 在属性窗口进行设置:连接数据库和表,将窗体中的文本框和表中的字段绑定。

3. 设计“添加”、“删除” 、“更新”和“退出”四个按钮 Click事件过程中的代码。(参考例题 prjexp7_4(P219)中的代码即可。)

7-13 用程序设计的方式连接数据库“资产”,使用 SQL查询作为数据源,提供“资产借用表”中的 ZCBH (资产编号)、 JYR (借用人)和 JYRQ (借用日期) 3 个字段在窗体上显示。运行界面见教材图 7-57 。

Page 46: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用46

解题思路:

1. 按照图 7-57 设计该题的界面。

2. 用 Data1.Connect 设置连接数据库的类型。

3. 用 Data1.DatabaseName 指定要连接数据库。

4. 用 Data1.RecordSource 和 SQL 查询设置数据源。

5. 用 对象 .DataField = “ 字段名”的形式将数据绑定。

(该题可参考例题 prjexp7_5(P223) 中的代码。)

7-14 用 ADO 数据控件的方法,完成 7-12题的要求。当移动记录时,在 ADO 数据控件上显示当前记录号。

解题思路:

1. 按照图 7-56 设计该题的界面。

2. 在属性窗口进行设置:用 Adodc1.ConnectionString 设置欲

Page 47: 第 7 章 Visual Basic 与数据库访问 7.1   数据库概述 7.2  Access 数据库基础 7.3   结构化查询语言( SQL )  7.4  Data 控件

VB程序设计与数据库应用47

连接数据库及类型。用 Adodc1.RecordSource 指定要连接的表。将窗体中的文本框和表中的字段绑定。

3. 设计“添加”、“删除” 、“更新”和“退出”四个按钮Click事件过程中的代码。(参考例题 prjexp7_7(P230) 中的代码即可。)

7-15 用数据窗体向导的方法创建用户窗体。要求采用“主表 /细表”的形式,将“实验室资产表”作为主表,“资产借用表”作为细表,生成窗体后加以调整。运行界面见教材图 7-58 。

解题思路:

1. 在数据窗体向导中选择“主表 /细表”。

2. 选择记录源和字段。

3. 在生成的界面中调整窗体的布局呈习题要求的形式。