如何用ADO复制一个表

思危 2003-03-14 02:58:21
我如何才能把一个查询结果保存到一个ACCESS表中。
例如查询结果为一个TADODataSet对象ResultSet,表名为为ResultTable
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧