第十一章  数据库编程
双击滚屏  关闭窗口

 

11.2 数据库的建立、维护和查询

  11.2.1 建立数据库
  
11.2.2 修改数据表结构和数据
  11.2.3 数据窗体设计器
  11.2.4 数据查询

 

  VB 可以访问多种关系数据库,如 Access 、 Oracle 等系统的数据库。默认的数据库是 Access97 数据库,扩展名为 .mdb 。

注: Access2000/2002 数据库文件格式与 Access97 数据库不同, VB 不能直接访问它们。使用 “ 数据库实用工具 ” 可以把 Access2000/2002 数据库转换为 Access97 数据库。

可视化数据管理器( VisData )是一个数据库工具。

用于建立、维护和查看数据库。

选择“外接程序”菜单中的“可视化数据管理器”命令。

                 

11.2.1 建立数据库 ( 以建立学生数据库为例 )

1. 创建一个数据库

(1) 在可视化数据管理器的窗口中,选择 “ 文件 ” 菜单中的 “ 新建 ” 命令。

(2) 选择 “Microsoft Access…” 下的 “Version 7.0 MDB 。

(3) 输入要创建的数据库文件名,如 “St.mdb” 。

(4) “ 保存 ”

               
“ 数据库窗口 ” 和 “SQL 语句 ” 窗口

 

2. 创建数据表

创建数据表时必须定义表的结构

表结构包括各个字段的名称、类型、长度等

                   
在已建立的数据库中添加 “ 学籍表 ”

(1) 在 “ 数据库窗口 ” 中右击鼠标,从快捷菜单中选择 “ 新建表 ” 命令,弹出 “ 表结构 ” 对话框。

在对话框中,可输入新表的名称并添加字段,也可从表中删除字段,还可以添加索引或删除索引。 输入 “ 学籍表 ” 作为表名。

(2) 单击 “ 添加字段 ” 按钮,弹出 “ 添加字段 ” 对话框。

(3) 输入各个字段的 “ 名称 ” 、数据 “ 类型 ” 和字段 “ 大小 ” (长度),如学号、 Text 、 6 。

(4) 添加一个字段后,单击 “ 确定 ” 按钮。

          

表结构 ” 对话框中单击 “ 添加索引 ” ,打开 “ 添加索引 ” 对话框

“名称 ” 框:用于输入索引名

“可用字段 ” 列表框:从中选择用来建立索引的字段。

一个索引可以由一个字段建立,也可以由多个字段组合建立。

“主要的 ” 复选框:表示当前建立的索引是主索引( Primary Index )。在一个数据表中可以建立多个索引,但只能有一个主索引。

“唯一的 ” 复选框:设置该字段不会有重复的数据。

              
“忽略空值 ” 复选框:表示搜索时将忽略空值记录。

 

当数据表设计完后,单击 “ 表结构 ” 对话框中的 “ 生成表 ” 按钮,就在数据库中添加了一个新的表。

              
关闭 “ 表结构 ” 对话框后,可从数据库窗口中看到数据表的显示

 

11.2.2 修改数据表的结构和数据

1. 修改表的结构

在数据库窗口中,右击数据表名称,从快捷菜单中选择 “ 设计 ” 命令,即可修改或打印表结构。

2. 修改表的数据

修改表中现有数据的操作类似于输入数据。

先在记录处理窗口中,通过移动窗口底部的滚动条找到要修改的记录,单击 “ 编辑 ” 按钮后,即可进行有关修改操作。完成修改操作后,单击 “ 更新 ” 按钮,则可保存对数据的更新。

11.2.3 数据查询

1. 使用查询生成器

以查找 11 班全部学生为例

· 打开 “ 查询生成器 ” 对话框

· 选择要查询的表,如 “ 学籍表 ” 。

· 单击 “ 字段名称 ” 框右侧的下箭头,如选择 “ 班号 ” ,在 “ 运算符 ” 框中选择 “=” ,在 “ 值 ” 框中输入 “ 11” 。也可通过单击 “ 列出可能的值 ” 按钮后选择 “ 值 ” 。

· 单击 “ 将 And 加入条件 ” 按钮或 “ 将 Or 加入条件 ” 按钮,可将设置的条件添加到 “ 条件 ” 列表中。

· 选择在查询时需要显示的字段名

· 单击 “ 运行 ” 按钮

· 将查询保存起来

                  

保存查询后,在数据库窗口中就能看到刚建立的查询

              
以后双击该查询名,即可执行该查询

2 .使用 SQL 语句

SQL(Structure Query Language ,结构化查询语言 ) 是一种用于数据库查询和编程的语言。由于它功能丰富、使用方式灵活、语言简洁易学,已成为关系数据库语言的国际标准。

SQL 语言由一系列 SQL 语句组成。

               
用户可以直接在 “SQL 语句 ” 窗口中输入 SQL 语句来实现各种功能。

几个常用的 SQL 语句

(1) Select 语句

Select 语句是 SQL 语言中最常用的一个语句 (P259)

Select 字段名列表 From 表名

[Where 查询条件 ]

[Group By 分组项 ]

[Having 分组筛选条件 ]

[Order By 排序字段 [ASC|DESC],…]

功能:从指定的数据表中查找满足条件的记录。

举例 1 :从 “ 学籍表 ” 中查找 11 班所有学生记录,查询结果只包括 “ 学号 ” 、 “ 姓名 ” 和 “ 性别 ” ,采用的 Select 语句如下:

Select 学号 , 姓名 , 性别 From 学籍表 Where 班号 ="11"

可以使用 Sum , Avg , Min , Max , Count 等合计函数,来分别计算某一列的总和,平均值,最小值,最大值和记录个数。

举例 2 :计算各班学生的平均年龄,采用的 Select 语句如下:

Select 班号 , Avg( 年龄 ) From 学籍表 Group By 班号

举例 3 :显示“学籍表”中所有男生的所有信息,查询结果按班号顺序排列,采用的 Select 语句如下:

Select * From 学籍表 Where 性别 =" 男 " Order By 班号

举例 4 :从“学籍表”和“成绩表”中查找 11 班的所有学生记录,查询结果包括“学号”、“姓名”、“英语”和“程序设计”,采用的 Select 语句如下:

Select 学籍表 . 学号 , 学籍表 . 姓名 , 成绩表 . 英语 , 成绩表 . 程序设计

From 成绩表 , 学籍表

Where 成绩表 . 学号 = 学籍表 . 学号 And 学籍表 . 班号 ="11"

举例 5 :查找英语科成绩不及格的学生记录,查询结果包括“学号”、“姓名”、“班号”和“英语”,采用的 Select 语句如下:

Select 学籍表 . 学号 , 学籍表 . 姓名 , 学籍表 . 班号 , 成绩表 . 英语

From 成绩表 , 学籍表

Where 成绩表 . 学号 = 学籍表 . 学号 And 成绩表 . 英语 <60

(2)Insert 语句

用于向数据表中插入一个记录。语句格式:

Insert Into 数据表 ( 字段名列表 ) Values( 字段值 )

例如,在成绩表中插入两个记录,相应的 Insert 语句如下:

Insert Into 成绩表 ( 学号 , 英语 , 程序设计 ) Values("951006", 87, 90)

Insert Into 成绩表 ( 学号 , 英语 , 程序设计 ) Values("951007", 57, 69)

(3)Delete 语句

本语句用于按照指定条件删除数据表中的记录。语句格式:

Delete From 表名 Where 条件

例如,删除学籍表中班号为 “ 31” 的所有记录,相应的 Delete 语句如下:

Delete From 学籍表 Where 班号 ="31"

(4)Update 语句

本语句用于按照指定条件修改数据表中的记录。语句格式:

Update 表名 Set 字段 = 表达式 Where 条件

例如,从成绩表中修改 “ 951003” 学生的英语科的成绩,相应的 Update 语句如下:

Update 成绩表 Set 英语 =99 Where 学号 ="951003"

11.2.4 数据窗体设计器

可视化数据管理器中提供了 “ 数据窗体设计器 ” 工具,利用它可以很容易地创建数据窗体,并添加到当前工程中,这样就可以生成一个用于浏览、修改数据库的应用程序。

选择 “ 实用程序 ” 菜单中的 “ 数据窗体设计器 ” 命令,即可打开 “ 数据窗体设计器 ” 对话框。

               

               
例 11.1 生成用于浏览、修改成绩表的应用程序

 

( 1 )新建一个工程。

( 2 )进入可视化数据管理器,打开数据库 St.mdb 。

( 3 )打开 “ 数据窗体设计器 ” 对话框,在对话框中设定 “ 窗体名称”为 Cj , “ 记录源 ” 为 “ 成绩表 ” ,则在 “ 可用的字段 ” 列表中列出了“成绩表”中的所有字段名,将“学号”、“英语”及“程序设计” 3 个字段选择到 “ 包括的字段 ” 列表框中。

(4) 单击 “ 生成窗体 ” 按钮,完成后单击 “ 关闭 ” 按钮。

此时在 VB 工程资源管理器中可以看到新增了一个名为 frmCj 的窗体。

(5) 在窗体编辑器中打开 frmCj 窗体。

窗体上除显示对应 3 个字段的 3 个文本框控件外,还有 “ 添加 ” 、 “ 删除 ” 、 “ 刷新 ” 、 “ 更新 ” 和 “ 关闭 ”5 个按钮,此外还有 1 个 Data 控件。

打开代码窗口,可以看到 VB 系统已经为该窗体模块生成了相应代码。

(6) 将 frmCj 窗体设置为当前工程的启动对象

运行工程,此时可以使用 Data 控件两端的箭头控制显示各记录内容,也可以通过有关按钮完成相应的功能。
 
双击滚屏  关闭窗口
 
版权所有数学与信息科学学院