首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

超级奇怪的sqlite数据库被占用而删除不了的有关问题,有高手吗

2012-02-09 
超级奇怪的sqlite数据库被占用而删除不了的问题,有高手吗?本人想动态链接sqlite数据库,中途需要替换数据库

超级奇怪的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();
试一试,应该可以断开连接的

热点排行