如何用ADO复制一个表

思危 2003-03-14 02:58:21
我如何才能把一个查询结果保存到一个ACCESS表中。
例如查询结果为一个TADODataSet对象ResultSet,表名为为ResultTable
...全文
27 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
TOMWLD 2003-03-16
create table ResultTabel(....)
insert into ResultTable (select field1,field2.... from table)
回复
Wally_wu 2003-03-15
Connection1和connection2为两个不同数据库。
在程上添加1个TDatasource, 1个TADODataSet(或其它Dataset)和两个TDBGrid;
比如他们分别是Datasource1,ADODataset1, DBGrid1, DBGrid2.
Datasource1的Dataset属性是ADODataset1, DBGrid1的DataSource属性是Datasource1, 一个表为T_User;
创建临时的Datasource2,ADODataset2.
Datasource2的Dataset属性是ADODataset2, DBGrid2的DataSource属性是Datasource2,
1. 首先查询数据操:
procedure QueryRecord;

begin
......
with ADODataset1 do
begin
Active := False;
Connection := Connection1
CommandText := 'Select * from T_User';
Active := True;
end;
.....
end;

Assigned结果集:
声明Public的变量:
ADODataset2: TADODataSet;
DataSource2: TDataSource;

procudure AssignedResultSet;

begin
Try
AdoDataSet2 := TADODataSet.Create(nil);
DataSource2 := TDataSource.Create(nil);
DataSource2.DataSet := AdoDataSet2 ;
DBGrid2.DataSource := DataSource2;
with ADODataset2 do
begin
Connection := Connection2;
RecordSet := ADODataset1.RecordSet;
end;
except
DataSource2.Free;
ADODataset2.Free;
end;
end;

然后在你用完时的代码上加:
DataSource2.Free;
ADODataset2.Free;
你可以看到DBGrid2可得到你想的结果集。
回复
Wally_wu 2003-03-15
使用clone方法
回复
ly_liuyang 2003-03-15
逐条复制过去
回复
chao_jian 2003-03-15
恐怕只能一条一条的保存了吧。
回复
hanlen 2003-03-15
up
回复
相关推荐
发帖
数据库相关
创建于2007-08-02

2456

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2003-03-14 02:58
社区公告
暂无公告