如何在ADOTable中实现数据库的复制???????? (50分)

  • 主题发起人 主题发起人 LongZhaokai
  • 开始时间 开始时间
L

LongZhaokai

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在ADOTable中实现数据库(ACCESS数据库)的复制?????????????????
 
用ADOquery不行吗?,干吗一定要用ADOtable?
 
果真按照你的要求,那来个循环添加数据库内容!
AdoTable1.open;
AdoTable2.open;
AdoTable1.First;
While not AdoTable1.eof do
begin
AdoTable2.Append;
AdoTable2.Edit;
AdoTable2.fieldvalues['字段名']:=AdoTable1.fieldvalues['字段名'];
......
AdoTable1.Next;
AdoTable2.post;
end;
AdoTable1.close;
AdoTable2.close;
 
TO:春意
谢谢,循环添加是可以,但这样会不会数据库复制速度变得很慢
 
这个方法能否用于adoquery?就是把一个表中输入了某个字段的内容,能自动加到另一个
表中?
 
是要备份数据库吗?
 
create database aa
select * into table1 from sourcedatabase.dbo.table1
依此类推
 
TO,jomee:
正是要备份数据库,然后再把数据库恢复过来,请问还有没有更好的方法?????
 
还请教各位大侠,ADOtable在实现整个数据库的复制,包括里面的许多表
 
多人接受答案了。
 
把数据库copy到其他目录,如下:
uses shellapi;
procedure Tmain.copy_file(fromfile,tofile:string);
var
frombuf,tobuf:Array[0..128] of char;
opstruc:TSHFileOpstruct;
begin
fillchar(frombuf,sizeof(frombuf),0);
fillchar(tobuf,sizeof(tobuf),0);
strpcopy(frombuf,fromfile);
strpcopy(tobuf,tofile);
with opstruc do
begin
wnd:=Handle;
wfunc:=FO_COPY;
pfrom:=@frombuf;
pto:=@tobuf;
fflags:=FOF_NOCONFIRMATION ;//OR FOF_RENAMEONCOLLISION;
fanyOperationsaborted:=false;
hnameMappings:=Nil;
lpszprogresstitle:=Nil;
end;
if shfileoperation(opstruc)<>0 then
begin
messagedlg('复制文件出错!',mtinformation,[mbok],0);
exit;
end;

end;


///////////////////////////////////////////////////////////////////

if fileexists(main.exefilepathstr+'/个人申报/个人申报材料.mdb') then
begin
main.copy_file(main.exefilepathstr+'/个人申报/个人申报材料.mdb','a:/个人申报/个人申报材料.mdb');
FileSetAttr('a:/个人申报/个人申报材料.mdb',faHidden);
form1.ppp.StepIt;
end
 
后退
顶部