如何合并两个数据集?(200分)

  • 主题发起人 主题发起人 scyshu
  • 开始时间 开始时间
S

scyshu

Unregistered / Unconfirmed
GUEST, unregistred user!
ADODATASET1有字段A、B,C,D;ADODATASET2有字段A、B、E、F现在想通过以A为关联字段
合并成为一个新的数据集包括字段A、B、C、D、E、F,不在后台数据库中进行,多谢了?
 
用select into不可以吗?
 
Sql.Text := 'select a.A,a.B,a.C,a.D,b.E,b.F from Table1 a ,Table2 b where a.A = b.A' ;
 
同意楼上
 
刚好会这个问题,你把两个数据集从数据库中抓取出来后,用一个clientdataset,建好
A、B、C、D、E、F
然后
ADODATASET1.first;
while not ADODATASET1.eof do
begin
if ADODATASET2.locate('A',ADODATASET1.fieldbyname('A').value) then
begin
clientdataset1.edit;
clientdataset1.append;
clientdataset1.fieldbyname('A').value:=ADODATASET1.fieldbyname('A').value;
...
...
clientdataset1.fieldbyname('e').value:=ADODATASET2.fieldbyname('e').value;
...
..
end;
ADODATASET1.next;
end;
不要害怕循环,这样其实速度很快的。
 
各位,我想知道数据集本身有没有方法可以实现这个功能
 
楼上: 没看懂您的意思
 
数据集也可以实现你说的功能,不过就要放两个clientdataset,分别连到ADODATASET1
ADODATASET2,然后在clenetdataset1建立两个lookup字段,关联条件是clenetdataset1.a=
clenetdataset2.a,返回字段分别是clenetdataset2。e,clenetdataset2.f这样就可以了
 
多人接受答案了。
 
后退
顶部