数据库复制问题(50分)

  • 主题发起人 主题发起人 李宏光
  • 开始时间 开始时间

李宏光

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位大侠:
1) 想把正在打开的一个paradox 数据库复制到另外的地方,用
FileExists( 'xiangmu.DB') 也能测到文件存在,但复制时,
显示:‘ 无法复制文件,找不到指定文件’?
(注:程序中,已经 table1.active:=false 了)
2) 同第一个问题类似,在一个memo1 中
已经 memo1.Lines.LoadFromFile('filename'') 放了一个文件,
想把这个文件复制到别处去,仍然是
显示:‘ 无法复制文件,找不到指定文件’



 
你所说的复制,用的是什么语句?
 
我想系统实际上任在使用文件,
所以才会有此提示。
 
既然已经 memo1.Lines.LoadFromFile('filename'') 放了一个文件,
用memo1.lines.SaveToFile('anotherfilename')不就等于复制了?

是不是用batchmove复制paradox表的?
batchmove需要独占方式打开. 估计你把table1.active置为false并没有关闭
数据库. 是不是用了TDataBase或者有其他table或query在用这个数据库?
 
复制文件与文件是否使用无关, 即使正在使用的文件也是允许复制的, 覆盖时则不可
以; 找不到文件很可能是所给的文件名不是全路径名
 
不好意思,问题交待的不清楚,
我是利用了大侠提供的下面函数做的,(想简单一点,
用 * 号一次完成 ) 所以如此,原因是需要在窗体 中先打开
几个数据库看看内容,窗体上有两按钮 ,一个是‘保存’,
一个是 ‘覆盖’ ,根据需要决定是复制到别处?
还是从别处复制数据库把这几个库覆盖掉? 这两项功能都无法完成
是不是要断开操作的库与其它的联系?如何断开?
仅仅 table1.active:=false 试过不灵

function Win_XCOPY(fFROM,fTO:String):boolean;
var FData : TShFileOpStruct;
begin
Fdata.pFrom := PChar(fFrom); //设立数据源路径和文件、目录名,支持(?, *通配符)
fdata.pTo := PChar(fTo); //设立目标路径
fdata.wFunc := FO_COPY ; //设立操作方式
//FO_COPY 拷贝操作 相当于 XCOPY
//FO_MOVE 移动操作 相当于 MOVE
//FO_DELETE 删除操作 相当于 DELTREE
FData.Wnd := Application.Handle ;
fData.lpszProgressTitle := 'Wait'; //设立提示窗标题
fData.fFlags := FOF_ALLOWUNDO OR FOF_NOCONFIRMMKDIR; //设定操作选项
result:=ShFileOperation( FData ) = 0 ;
end;
 
试试copyfile函式
 
用ZIP打包。
 
对于 Another_eYes 说的 “把table1.active置为false并没有关闭”,
原以为 把table1.active置为false 就关闭了
此时关闭数据库该如何进行?
 
此问题马马虎虎的了,谢谢各位
 
多人接受答案了。
 
后退
顶部