关于用SaveOpenDialog进行备份的问题(15)

  • 主题发起人 主题发起人 terry_zhou82
  • 开始时间 开始时间
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 savedialog 控件设置了以下的代码,但是好像总是不能备份,大家帮我看看错在那里啊?(这是一个数据库的文件)beginif dlgSave1.Execute thencopyfile(pchar(ExtractFilePath(Application.ExeName) + DataBaseFileName),pchar(dlgSave1.FileName ),True)end;//改成FALSE也不行,程序可以编译通过,但就是看不到所备份的文件。
 
稍微严谨一点:if not copyfile(pchar(ExtractFilePath(Application.ExeName) + DataBaseFileName),pchar(dlgSave1.FileName ),True) then raise EOSError.Create(SysErrorMessage(GetLastError));
 
楼上的没有理解我的意思,我是想让他帮我备份,但是程序总是不能备份。也没有什么出错信息,我就想知道错在那里啊?
 
哎,你没救了
 
楼上的,我不懂啊,能否详细告知,小弟菜,不懂啊
 
那么我具体应该怎么弄啊?他提示的意思,大致是数据库正在链接,进程正在运行,那么我要如何进行备份呢?我试过了。table1.tablename:=''不能通过的。
 
你的是什么数据库阿?如果是SQLSERVER你复制时数据库文件正正使用时是不能复制的。我估计就是文件正在被使用。你按楼上的抛异常的方式看看,报的错是不是正在被使用。
 
用 GetLastError 函数看看不能拷贝的原因。capyfile函数比较简单的,是不是你的文件路径不对,或者目标文件无权限读取
 
1:看看ExtractFilePath(Application.ExeName) + DataBaseFileName是否存在。2:备份时如果有必要,先关闭连接。
 
我用的是BDE的文件1,文件确实存在,2.怎么样断开连接呢?使用DISENABLED的?我的数据库文件和备份的菜单是在同一个FORM下面的,要怎么样断开呢?
 
是不是你的数据库用了独占模式,所以不允许读取导致无法复制?
 
接受答案了.
 
后退
顶部