vc/MFC + Sql Server2000 开发的数据库系统,连接数据库的时候使用的是ODBC。
数据库中有两个表 A 和 B,通过ID相关联,结构如下:A:(ID为主键)                           B: (没有主键)
ID    公司名称   生意内容  备注         ID     币值    收付     费用    费用名称
001   公司甲     ……     ……         001    RMB     应收     500     运费
002   公司乙     ……     ……         001    RMB     应付     200     集卡费  
003   公司丙     ……     ……         001    USD     应收     100     ……
……  ……       ……     ……         001    USD     应收     50      ……
                                         ……   ……    ……     ……    ……
                                         002    RMB     应付     300     检查费
                                         002    RMB     应付     80      ……
                                         ……   ……    ……     ……    ……
                                         003    ……    ……   ……    ……也就是说表A中存储了我公司同另外公司之间生意往来的基本信息,表B中存储了某次生意(通过A中的ID来标识)往来中所涉及到的费用明细。现在需要写一个统计功能,统计某次生意中RMB和USD的利润各是多少。
“利润统计”中用到了LstCtrl控件,该功能我是这样实现的:
 1、读取A中的一条记录,插入到LstCtrl中。
 2、每读取一条,取得其ID。
 3、利用该ID读取B中的数据,并通过if语句对“币值”和“收付”相同的费用进行累加。
 4、最后通过加减运算得到RMB、USD的利润,并插入到LstCtrl中。
 5、回复到1,如此循环。我这样写出来的统计功能,当记录多的时候速度就会慢了,200条记录大概要15秒。老总觉得太慢,要我想办法改进。小弟苦思不得其解,特来请教!在不改变数据库结构的情况下,请高手提供可以提高统计速度的方法。不知道有没有什么SQL语句,可以一下子得到我需要的统计数据,两三下子的也可以。请指点……学习,关注……谢谢!