师德帅 廊坊师范学院信息技术提高班 十二期

table表列求和(机房问题)

分类:VB与数据库

在机房收费系统的结账窗体中,需要将很多数据求和,在这个阶段,我想了几个可行的方法。

方法一,使用select语句求和。

我们都知道select语句可以选择出符合条件的数据,其实他还有更为强大的功能,就是SQL函数,通过SQL函数,我们可以求出同一个关键字下最大值MAX(关键字),最小值MIN(关键字),平均值AVG(关键字),以及求和运算SUM(关键字)等等。下面以求和运算为例。

编码规则如下:

txtSQL = "select SUM(关键字) as SUM from 表名 where 关键字= '" & 关键字 & "'"

以我的机房中求和充值总额为例:

txtSQL = "select SUM(addmoney) as SUM from ReCharge_Info where UserID= '" & Trim(ComboUserID.Text) & "' and status = '" & "未结账" & "'"其中,我在ReCharge表中查询到了限制条件为UserID和status情况下,关键字为addmoney列下充值额,然后SUM求和,将求和后的总金额保存在一个新建的SUM表中,在这里,我们可以在SQL server中新建查询来更直观的看到其中的运行机制。

点击执行后:

此时,,新建了一个表格,来作为我们求和结果的容器。

方法二,使用For循环。

我们知道,For循环是指定步数的循环,但是,当我们这样写的时候

For i = 1 to mrc.Recordcount循环体Next imrc的Recordcount属性大家都不陌生,在机房上下机时显示在线人数时用到了这个属性,这个属性同样可以这样用,有多少条符合条件的数据,循环体就执行多少次,实现了遍历循环。

方法三,Do While 循环。

Do While not mrc.EOF循环体loop

原理和For循环相同,遍历每一条符合条件的语句,然后相加求和。

总结:

这三种方法在实践中都是可以实现机房收费系统所要求的功能的,不同的是,第一种方法使用的是SQL函数,而后两种用的是遍历循环,相比之下,在数据繁多的背景下,遍历循环是必然要被淘汰的。通过实现这个功能,发现了相同的功能可以由多种代码实现,而区分这些代码的良莠是我们需要学习的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇显示本地机器名(机房问题)下一篇不能加载 MSCOMCTL.OCX(机房问题)

属于自己的不要放弃,已经失去的留作回忆。

师德帅 廊坊师范学院信息技术提高班 十二期

相关文章:

你感兴趣的文章:

标签云: