第 7 章 visual basic 与数据库访问 7.1 数据库概述 7.2 access 数据库基础 7.3 ...

47
VB程程程程程程程程程程 1 7 7 Visual Basic Visual Basic 第第第第第第 第第第第第第 7.1 7.1 第第第第第 第第第第第 7.2 Access 7.2 Access 第第第第第 第第第第第 7.3 7.3 第第第第第第第第第第第第第第SQL SQL 7.4 Data 7.4 Data 第第 第第 7.5 ADO 7.5 ADO 第第第第 第第第第 7.6 7.6 第第第第第 第第 第第第第第 第第 第第第第第第第第第第第第第第第第第第第第第 【】 第第第第第第第第第第第第第第第第第第第第第 【】 D:\VB\computer.mdb D:\VB\computer.mdb

Upload: mercedes-soto

Post on 30-Dec-2015

223 views

Category:

Documents


0 download

DESCRIPTION

第 7 章 Visual Basic 与数据库访问 7.1 数据库概述 7.2 Access 数据库基础 7.3 结构化查询语言( SQL ) 7.4 Data 控件 7.5 ADO 数据控件 7.6 使用数据窗体向导 【 请注意 】 本章例题涉及到的文件路径及文件为: D:\VB\computer.mdb. 7.1.1 数据库的基本概念 1 . 数据库系统 数据库系统( Data Base System , DBS )是指以数据库方式管理的拥有大量共享数据的计算机应用系统。 2 .数据库管理系统 - PowerPoint PPT Presentation

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. 在生成的界面中调整窗体的布局呈习题要求的形式。