常见的主从表,比如 供货商提供 一批商品 到仓库主表为单据信息,结构如下:create table danju --单据表
( danjuNo char(4), --单据号
Name char(10) --供货商
)从表为物料信息,结构如下:create table wuliao --物料表
( danjuNo char(4), --单据号
wuliaoNo char(4), --物料号
wuliaoName char(4), --物料名称
count integer --物料数量
)
为了显示供货商的单据信息,我用 AdoQuery1,DataSource1,DBGrid1 显示单据信息
用 AdoQuery2,DataSource2,DBGrid2 显示物料信息
ADOquery1.text:='select danjuNo,Name from danju ';
ADOQuery2.text:='select wuliaoNo,wuliaoName,count from wuliao where danjuNo=:danjuNo ';
ADOQuery2.DataSource:=DataSource1;这样 每当单据表定位的位置发生变化时,物料表也跟着作相应的变化;上面的操作我在Access 数据库和oracle下面测试都通过.但是我又想添加一个功能: 就是统计某一个单据下,所有物料数量的和。于是 我用 AdoQuery3,DataSource3,DBEdit3 显示某一单据下所有物料数量的和:
ADOQuery3.text:='select sum(count) where danjuNo=:danjuNo ';
ADOQuery3.DataSource:=DataSource1;
我用这种方法试了一下,在Access 数据库里没有问题,但是在Oracle下面就有了问题.我找不出原因,看来只能用其他方法实现了?我想对于统计数量的问题,大家一定常常遇到,我想问一下,像我这个情况该如何处理?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货