关于把查询数据保存的问题?(急)(150分)

  • 主题发起人 主题发起人 nb121212
  • 开始时间 开始时间
N

nb121212

Unregistered / Unconfirmed
GUEST, unregistred user!
1、要从外部数据库2001.mdb,2002.mdb的表1中提取数据到程序中数据库APP.mdb中的表2
表1与表2的结构一至,怎么办
2、若提取成功,表2的结构为
GDDM GPMC MJ(买) MJJ(价) MC(卖) MCJ(价)
A119 600100 100 6.12 0 0
A119 600100 0 0 50 6.40
A119 600100 0 0 50 6.51
A119 600155 200 12.00 0 0
A119 600155 0 0 200 11.98
A265 600118 50 6.17 0 0
A265 600118 0 0 50 6.51
A265 600155 200 12.00 0 0
A265 600155 0 0 200 11.98
问如何计算每个GDDM的收益?(同一GDDM的不同GPMC合计统计)


 
select gddm,sum(mc*mcj)-sum(mj*mjj)
from table
group by gddm
batchmove 组件不可以吗
 
1、要从外部数据库2001.mdb,2002.mdb的表1中提取数据到程序中数据库APP.mdb中的表2,
若表1与表2的结构一致,问怎么办提取?
 
batchmove,然后两个database,分别志向不同的数据库,选择其中的表,
append方式,batchmove的原表和目标表 两个table,一个原表,一个目标表,志向不同
的数据库的数据,
 
2、select gddm,sum(mc*mcj)-sum(mj*mjj)
from table
group by gddm

1、看不懂!
 
但我用的是adoconnection连app.mdb,再加上adoquery用来根据条件从2001.mdb,2002.mdb
的表1中提取数据,再存入adotable(连app.mdb的表2),batchmove函数和组件不支持ADO!
 
那你单独编一个不行吗?否则就要一个一个的导吧,batchmove 的也可以用query
你试一下,两个adoconnection,然后 batchmove 的source 、dest分别志向
两个adoquery
 
batchmove函数和组件不支持ADO,只支持BDE!
 
单独写一个吧.
 
用ADO难道真的没办法了吗?BDE最麻烦!
 
1.使用adox就行了,先获得源表的结构,然后再在目标数据库中新建个一样的表就行了。
2.用sql语句就可以解决。
 
表1與表2的結構一樣。
設adoquery1連接第一個數據庫的表1,
adoquery2連接APP.mdb數據庫的表2,可以:
adoquery2.close;
adoquery2.sql.text:='select * from 表2 where 1>2'
adoquery2.open;
adoquery1.close;
adoquery1.sql.text:='select * from 表1';
adoquery1.open;
adoquery1.first;
while not adoquery1.eof do
begin
adoquery2.append;
for i:=0 to adoquery1.FieldCount-1 do
if adoquery2.FieldList.IndexOf(adoquery1.Fields.FullName)<>-1 then
adoquery2.FieldByName(adoquery1.Fields.FullName).AsString:=adoquery1.Fields.AsString;
adoquery2.post;
adoquery1.next;
end;
adoquery1.close;
adoquery2.close;
showmessage('復制完畢!');
 
多人接受答案了。
 
搞半天把简单的问题搞复杂了,我还以为需要在数据库2中先创建一个一模一样的表,
然后再复制记录.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
738
SUNSTONE的Delphi笔记
S
S
回复
0
查看
730
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部