刚好有一百分,全给了!!CSDN上没人理的问题。(100分)

  • 主题发起人 主题发起人 del_man
  • 开始时间 开始时间
D

del_man

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高人,小弟有个问题,我在中间层有几个这样的东东
query1,DataSetProvider1
query2,DataSetProvider2
query3,DataSetProvider3
现在我想把query1和query2查询出来的数据集合并在一起刚开始我想这样做
DataSetProvider3.data:=DataSetProvider1.data+DataSetProvider2.data;
但好像不能这么做
各位高人,有没有什么好办法?分不够以后加,我虽是菜鸟,但我还是讲信誉的。
 
这个想法虽然好,但把问题复杂了,
你的问题 SQL 的Union All 就可以解决,你会用吧
 
我想合在一起的前提是数据集的结构必须是一样的。有办法
with query1do
begin
first;
while not eofdo
begin
query2.Append;
query2.FieldByName().As...:=query1.FieldByName()...//这个会吧
....
query2.post;
DataSetProvider2.applyupdates;
next;
end;
end;
DataSetProvider3.Data:=DataSetProvider2.data;
 
在SQL语句中把两个集合并起来。
 
谢谢大家的帮忙,问题我已经变相解决了,我的方法如下
在客户端里调用DataSetProvider.AppendData()方法就可以了
TO:pnljh
你的这句DataSetProvider3.Data:=DataSetProvider2.data;会不会出问题?因为我用
DataSetProvider3.data:=DataSetProvider1.data+DataSetProvider2.data;的时候
就提示我说DataSetProvider3.data是只读的
 
这个倒没试过,不过我一般是ClientDataSet连DataSetProvider的,所以
如果是ClientDataSet1.Data:=ClientData2.Data是完全可以的。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部