读书人

超级奇怪的sqlite数据库被占用而删除不

发布时间: 2012-02-09 18:22:27 作者: rapoo

超级奇怪的sqlite数据库被占用而删除不了的问题,有高手吗?
本人想动态链接sqlite数据库,中途需要替换数据库文件,所以所要删除原数据库文件
1,链接旧数据库
2,断掉链接:

C/C++ code
  qryImport->Close();  ImprotConnection->Connected =false;  ImprotConnection->Close();  if(ImprotConnection)  {     delete ImprotConnection;     ImprotConnection=NULL;  }  Sleep(50);  asFile= ExtractFilePath(Application-> ExeName) + "XMLTemplate\\Import\\ExportTemp.db";  if (FileExists(asFile))      DeleteFile(asFile);//这里总是删除不了,文件被占用,其实我已经断开连接池了

问题就是文件占用,删不了,是否连接池没彻底断开啊??

[解决办法]
文件还被占用着呢。用SysInternal的工具看看是不是你自己的进程打开着这个文件。
[解决办法]
你确定这个mdb文件的所有连接都关了么??ADOQuery呢???如果有ADOquery直接连的这个文件,除了ImprotConnection这个ADOQuery组件也得delete才行。
[解决办法]
databaseclose();
query.clear();
试一试,应该可以断开连接的

读书人网 >C++ Builder

热点推荐