VB与数据库(7)

2019-08-30 17:05

第10章 VB与数据库 247 lblLabels(2)

lblLabels(3)

lblLabels(4)

AutoSize Caption AutoSize Caption AutoSize Caption

-1 'True \性别:\-1 'True \民族:\-1 'True \班号:\

本窗体上设计的事件过程如下:

Private Sub cmdAdd_Click() bAdd = True

Adodc1.Recordset.AddNew cmdDelete.Enabled = False cmdFind.Enabled = False cmdUpdate.Enabled = True txtFields(0).SetFocus End Sub

Private Sub cmdDelete_Click()

If MsgBox(\真的要删除当前记录吗\信息提示\ Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveFirst If Adodc1.Recordset.BOF Then cmdDelete.Enabled = False cmdFind.Enabled = False End If End If End If End Sub

Private Sub cmdClose_Click() Unload Me End Sub

Private Sub cmdFind_Click() Dim str As String

Dim mybookmark As Variant

mybookmark = Adodc1.Recordset.Bookmark

str = InputBox(\输入查找表达式,如年龄=9\查找\ If str = \ Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find str

If Adodc1.Recordset.EOF Then

MsgBox \指定的条件没有匹配的记录\信息提示\ Adodc1.Recordset.Bookmark = mybookmark End If End Sub

248 Visual Basic程序设计导学 Private Sub cmdUpdate_Click() Adodc1.Recordset.Update Adodc1.Recordset.MoveLast cmdUpdate.Enabled = False cmdDelete.Enabled = True cmdFind.Enabled = True End Sub

Private Sub Form_Load()

If Adodc1.Recordset.EOF And Adodc1.Recordset.BOF Then cmdFind.Enabled = False cmdDelete.Enabled = False End If

cmdUpdate.Enabled = False Adodc1.Recordset.MoveFirst End Sub

本窗体的运行界面如图10.22所示。

图10.22 ADO Data控件应用例子执行界面

10.6 结构化查询语言(SQL)

结构化查询语言(SQL)是目前各种关系数据库管理系统广泛采用的数据库语言,很多数据库和软件系统都支持SQL或提供SQL语言接口。本节介绍基本的SQL语言,特别是SELECT语句,在以后的数据库编程中会经常用到。

10.6.1 SQL语言的组成

SQL语言包含查询、操纵、定义和控制等几个部分。它们都是通过命令动词分开的,各种语句类型对应的命令动词如下:

· 数据查询的命令动词为SELECT。

· 数据定义的命令动词为CREATE,DROP。

· 数据操纵的命令动词为INSERT,UPDATE,DELETE。

第10章 VB与数据库 249 · 数据控制的命令动词为GRANT,REVOKE。

10.6.2 数据查询语句

SQL的数据查询语句是使用很频繁的语句,其基本格式如下:

SELECT 字段表 FORM 表名 WHERE 查询条件 GROUP BY 分组字段 HAVING 分组条件

ORDER BY 字段[ASC|DESC]

各子句的功能如下:

SELECT:指定要查询的内容。

FORM:指定从其中选定记录的表名。 WHERE:指定所选记录必须满足的条件。 GROUP BY:把选定的记录分成特定的组。 HAVING:说明每个组需要满足的条件。 ORDER BY:按特定的次序将记录排序。

其中,“字段表”内可使用合计函数对记录进行合计,它返回一组记录的单一值,可以使用的合计函数如表10.5所列。“查询条件”由常量、字段名、逻辑运算符、关系运算符等组成,其中的关系运算符如表10.6所列。

表10.5 SQL的合计函数

合计函数 AVG COUNT SUM MAX MIN

说明

返回特定字段中值的平均数 返回选定记录的个数

返回特定字段中所有值的总和 返回特定字段中的最大值 返回特定字段中的最小值

表10.6 关系运算符

符号 < <= > >= = <>

说明 小于 小于等于 大于 大于等于 等于 不等于

250 BETWEEN 值1 AND 值2 IN LIKE*

Visual Basic程序设计导学 在两值之间

(一组值) 在一组值中 与一个通配符匹配

* 通配符可使用“?”代表一个字符位,“*”代表零个或多个字符位。

10.6.3 使用SQL

下面我们通过几个例子说明SQL的基本使用方法。

在程序运行时,可以通过使用SQL语句设置Data控件的RecordSource属性,这样可以建立与Data控件相关联的数据集。使用SQL语句的查询功能不影响数据库中的任何数据,只是在数据库中检索符合某种条件的数据记录。

【例10.1】 以下SQL语句用于建立一个学生表。

CREATE TABLE 学生表 (学号 CHAR(5), 姓名 CHAR(10), 性别 CHAR(2), 民族 CHAR(12), 班号 CHAR(5));

【例10.2】 Data1.RecordSource=\学生表\语句的作用是将学生表的所有记录挑选出来作为Data1控件的记录集。

【例10.3】 Data1.RecordSource=\学号,姓名,班号FROM学生表\语句的作用是将学生表的学号、姓名和班号三列的所有记录都挑选出来作为Data1控件的记录集。

【例10.4】 Data1.RecordSource=\学号,姓名,班号FROM学生表WHERE性别='男'\语句的作用是将学生表中所有男学生的学号、姓名和班号三列挑选出来作为Data1控件的记录集。

10.7 习题10

10.1 在VB中可以访问哪些类型的数据库? 10.2 VB访问数据库有哪几种不同的方法?

10.3 如何在记录集内移动、定位、编辑、删除和添加数据?

10.4 利用Data控件说明如何将一个表中的字段绑定到一个文本框中? 10.5 简述将ADO控件连接到数据源的步骤。

10.6 简述ADO控件和Data控件及其数据绑定成员的主要区别。

10.7 采用Data控件实现对student.mdb数据库的学生表(其结构见图10.6)的数据操作,其执行界面如图10.23所示。

第10章 VB与数据库 251

图10.23 对学生表执行的数据操作界面

10.8 有一个学生成绩表,其结构如下:

学号 Integer 姓名 Text 8 数学 Single 语文 Single 英语 Single

使用ADO Data控件实现对其记录进行添加、编辑和删除功能。执行界面如图10.24所示。

图10.24 对学生表执行添加、编辑、删除操作


VB与数据库(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湘少版小学英语六年级上册教材分析及教法指导

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: