主题:为什么数据备份不能成功啊
triumph
[专家分:160] 发布于 2006-05-07 15:50:00
代码如下:
procedure Tbackupform.BtnBackUpClick(Sender: TObject);
var failure:boolean;
databasepath:string;
begin
failure:=false;
DataBasepath:=ExtractFileDir(paramstr(0))+'\data';
if not copyfile('t_info.db','C:\Documents and Settings\new\桌面\yyyyy\t_info.db',false) then failure:=true;
if failure then
showmessage('数据备份没有成功!')
else
begin
showmessage('数据备份结束!');
end;
end;
回复列表 (共6个回复)
沙发
zaliang [专家分:1010] 发布于 2006-05-07 16:12:00
access??
提示什么错误?
板凳
triumph [专家分:160] 发布于 2006-05-07 21:26:00
delphi7.0自带的paradox表
就是跳到 showmessage('数据备份没有成功!');
3 楼
zaliang [专家分:1010] 发布于 2006-05-08 08:53:00
paradox没有试过.不过copyfile好像也不好用吧.我一直用下面的过程进行恢复与备份,你可以试一下.
procedure tfrm_systemset.Databakcopy(a,b:string);//a,b为源文件和目标文件
var
T1, T2: file of byte;
lin: array[0..10] of char;
i: integer;
length: longint;
begin
assignfile(T1, a);
reset(T1);
assignfile(T2, b);
rewrite(T2);
length := filesize(T1);
while length > 0 do
begin
blockread(T1, lin[0], sizeof(lin), i);
length:=length-i;
blockwrite(T2, lin[0], i);
end;
closefile(T1);
closefile(T2);
end;
4 楼
triumph [专家分:160] 发布于 2006-05-08 12:36:00
procedure tbackupform.Databakcopy(a,b:string); //a,b为源文件和目标文件
var
T1, T2: file of byte;
lin: array[0..10] of char;
i: integer;
length: longint;
begin
assignfile(T1, a);
reset(T1);
assignfile(T2, b);
rewrite(T2);
length := filesize(T1);
while length > 0 do
begin
blockread(T1, lin[0], sizeof(lin), i);
length:=length-i;
blockwrite(T2, lin[0], i);
end;
closefile(T1);
closefile(T2);
end;
procedure Tbackupform.BtnBackUpClick(Sender: TObject);//调用过程
var databasepath:string;
begin
DataBasepath:=ExtractFileDir(paramstr(0))+'\data';
Databakcopy(databasepath,'C:\Documents and Settings\new\桌面\yyyyy\t_info.db');
出错“file access denied",请问什么原因啊?
5 楼
zaliang [专家分:1010] 发布于 2006-05-08 14:03:00
你的这句:DataBasepath:=ExtractFileDir(paramstr(0))+'\data';错了.不是一个有效的文件名.你可以showmessage看一下.
databakcopy(a,b:string)中,a为数据库文件,b为将要备份成的文件;
6 楼
triumph [专家分:160] 发布于 2006-05-08 20:07:00
问题已经解决
我来回复