现有两个ACCESS数据库A和B,数据库A中有一个名为入库记录的空表,数据库B中也一个名为入库记录的表(有数据),且这两个表的结构完全相同,如何将数据库B的数据复制到数据库A中。用Delphi的ADO控件怎么实现?最好是一条命令就能实现。
解决方案 »
- 用TOlecontainer保存图片和word文件出错?
- 怎么使用Canvas改变单个单元格背景色?
- d6中用什么连接INTERBASE数据库哟?连接本机和网络上的数据库有没有区别啊?
- 我要做一个登陆窗口,怎么做?
- 怎樣對一個動態生成的控件寫事件﹖
- 超难!超难!超难!超难!怎样显示并保存这样的的结果???
- 一個DLL中的函数的問题?急用!請指教?
- 在用PRINTER 对象打印输出报表时,打印机在打完数据后会往前走纸,如何控制打印机在打完数据后不往前走纸呢?
- 我原来在ACCESS数据库存放的图片是BMP,如何把它转换为JPG?
- 計算字段求值問題﹗﹗
- Delphi下可以实现dispinterface么?
- 我现在用Delphi7.0+SQL开发的程序是CS结构的,要怎样才能变成BS结构的?
提供一个看似笨的方法 ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from '+tablename);
ADOQuery1.Active:=true; ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from '+tablename);
ADOQuery2.Active:=true; ADOQuery2.First
While not ADOQuery2.Eof do //ADOQuery2读旧库,ADOQuery1写新库
begin
ADOQuery1.Append; //第1个字段~第n个字段,如果需要可以从0开始, 从1开始是因为第0个字段设了自动加1的identity
for i:=1 to ADOQuery1.Fields.Count-1 do
ADOQuery1.Fields[i].Value:= ADOQuery2.Fields[i].Value; ADOQuery1.Post;
ADOQuery2.Next;
end;
以上代码还使用于同结构多表合并、不同数据库平台的转换(如Access到SQL Server),只要两个ADOQuery的连接信息正确如果仅仅要实现操作而不一定非写代码,可尝试采用以下方法:
1)Access支持跨数据文件间的表复制:传统Ctrl+C,Ctrl+V就可以(开两个Access窗口,粘贴前先选中目标表)
2)用SQL Server附带的"导入和导出数据"工具.