L
listhano
Unregistered / Unconfirmed
GUEST, unregistred user!
我是想用TSaveDialog来做。
1、先删除数据库文件OldDat.mdb;用DeleteFile函数
2、然后,再用CopyFile拷贝数据库文件;也就是在SaveDialog.Files.Text(暂且叫NewDAT.mdb)中调用的文件;
3、现在问题来了!原数据库文件(OldDat.mdb)已经锁定了,无法删除。也就无法拷贝SaveDialog.Files.Text(NewDAT.mdb)中的文件到指定的文件夹了(也就是ExtractFilePath(Paramstr(0))指定的路径)!
4、这个问题怎样解决?
看看是这样的。
------------
begin
if SaveDialog.Execute then
begin
DeleteFile(trim(ExtractFilePath(Paramstr(0))+'OldDat.mdb'));
CopyFile(PChar(Trim(SaveDialog.Files.Text)),PChar(trim(ExtractFilePath(Paramstr(0)))+'OldDat.mdb'),true);
end;
end;
------------
如果上述的方案无法完成,也只能像下面的方法做了!
(那可就非常麻烦了!呜呜呜呜...):
1、把OldDAT.mdb中的所有表打开,同时把NewDat.mdb中的所有数据表也打开;
2、然后,把OldDAT.mdb中的所有表的数据逐字段、逐条记录放到NewDat.mdb数据库中的各个对应的表中。
1、先删除数据库文件OldDat.mdb;用DeleteFile函数
2、然后,再用CopyFile拷贝数据库文件;也就是在SaveDialog.Files.Text(暂且叫NewDAT.mdb)中调用的文件;
3、现在问题来了!原数据库文件(OldDat.mdb)已经锁定了,无法删除。也就无法拷贝SaveDialog.Files.Text(NewDAT.mdb)中的文件到指定的文件夹了(也就是ExtractFilePath(Paramstr(0))指定的路径)!
4、这个问题怎样解决?
看看是这样的。
------------
begin
if SaveDialog.Execute then
begin
DeleteFile(trim(ExtractFilePath(Paramstr(0))+'OldDat.mdb'));
CopyFile(PChar(Trim(SaveDialog.Files.Text)),PChar(trim(ExtractFilePath(Paramstr(0)))+'OldDat.mdb'),true);
end;
end;
------------
如果上述的方案无法完成,也只能像下面的方法做了!
(那可就非常麻烦了!呜呜呜呜...):
1、把OldDAT.mdb中的所有表打开,同时把NewDat.mdb中的所有数据表也打开;
2、然后,把OldDAT.mdb中的所有表的数据逐字段、逐条记录放到NewDat.mdb数据库中的各个对应的表中。