结构化查询语言SQL是操作数据库的国际标准语言,在开发VB数据管理软件过程中,利用SQL可以使数据的操作大为方便,使VB与数据库的联系更加紧密。
1 问题的提出
在数据库的操作中,常常会涉及数据表中记录的个数、某字段的最大值或最小值、某字段的平均以及某字段的总和等计算。这些计算当然可以通过设计算法,利用VB程序本身来实现。但是如果利用VB中的SQL合计函数,则求解过程大为简化,程序效率大大提高。
VB中的SQL合计函数主要包括记录个数(COUNT)、最大值(MAX)、最小值(MIN)、平均值(AVG)以及求和(SUM)。虽然这些合计函数十分有用,但关于它的使用方法在文献资料甚至是数据库高级编程专著中却少有介绍,使涉足VB的开发人员往往舍近求远、弃简就繁,放弃对这些函数的使用。VB的帮助系统虽然给出了这些函数的引用格式,但如何将它们应用在VB程序设计中则不甚明了。
2 SQL合计函数的引用格式
我们通过一个实例来说明SQL合计函数的使用。为此,先利用VB的可视化数据管理器建立一个数据库文件sql.mdb,再创建一个数据表salary,salary包括三个字段,由三个记录组成,如图1所示。
合计函数的引用格式为:
COUNT(*) 计算数据表中记录个数
MAX(年龄) 给出最大年龄
MIN(年龄) 给出最小年龄
AVG(工资) 计算平均工资
SUM(工资) 计算工资总和
3 在VB中使用SQL合计函数
在VB中使用SQL合计函数需要借助于SELECT语句,例如:
SELECT MAX(年龄) AS maxa, SUM(工资) AS sums FROM salary |
可求出最大年龄和工资总和,结果分别存放到动态字段变量maxa和sums中。
SELECT语句还可带有WHERE短语,以限制参与计算的记录。例如:
SELECT SUM(工资) AS sumsa FROM salary WHERE(年龄>30) |
可求出年龄大于30岁的工资总和,结果存放到动态字段变量sumsa中。
本文将maxa、sums、sumsa称为动态字段变量,因为这些字段不是数据表中固有的,是我们在程序中单独命名的。