用TBatchMove。如果不能使,那就编程序:procedure CopyDataSet( Source, Dest: TDataSet );
var
i: Integer;
AField: TField;
begin
Source.First;
while not Source.EOF do
begin
Dest.Edit;
for i:=0 to Source.FieldCount-1 do
begin
AField := Source.Fields[i];
Dest.FieldByName(AField.FieldName).Assign(AField);
end;
Dest.Post;
Source.Next;
end;
end;声明:此程序只是表明意思,未实践过。不保证能通过编译也不保证运行不错,因为运行的环境有可能不符合,如Dest是只读的或Source与Dest根本就不同构。如有问题,请电 [email protected]
var
i: Integer;
AField: TField;
begin
Source.First;
while not Source.EOF do
begin
Dest.Edit;
for i:=0 to Source.FieldCount-1 do
begin
AField := Source.Fields[i];
Dest.FieldByName(AField.FieldName).Assign(AField);
end;
Dest.Post;
Source.Next;
end;
end;声明:此程序只是表明意思,未实践过。不保证能通过编译也不保证运行不错,因为运行的环境有可能不符合,如Dest是只读的或Source与Dest根本就不同构。如有问题,请电 [email protected]
解决方案 »
- 请教一个DLL窗体中传入数据联接问题?
- 问一个局域网内文件下载的问题
- ADOQUERY执行遇到的奇怪问题
- 如何全选dbgrid的记录呢?
- 可以用sendmessage修改其他程序的自定义属性吗?
- delphi combobox自动通过模糊查询填充下拉框
- WScript 是ActiveX 还是COM,还是别的什么。如何在应用程序中使用 ?
- 在ORACLE中索引INDEX的原理
- 见者有份 急用 拜托了
- 寻找软件合作人!
- 请教各路大侠,我在TDBGrid中,要把所有记录的第二个字段值相加,赋给count:integer怎么提出TDBGrid中的值?
- 又如何用IBQuerty删除当前记录IBQuerty没有RequestLive这个属性!,
1.直接用SQL语句,从一个已有数据表向另一个数据表复制数据,只需要有一个语句就够了,不过要求两个数据表的字段和类型要一致;效率很高;
2.用BatchMove,效率也很高;
3.先把源表的数据读出来,循环写入另一个数据表,效率不高,代码冗长,是个不太动脑筋的办法
Move(dataset1,dataset2,sizeof(dataset1)) ?
不过刺月 的理解可能有一点问题!
我的意思不是数据库的数据操作,而是在前台的两个组件如何复制数据.
对了,还有一个问题我忘记说了:目标dataset的字段和数据都只是源dataset的子集!大家多多捧场哦
嫌分不够的说!分,我有的是!!!!!!!!!!!!