ysai请进来:再请教一个问题!过路的也来看看! (50分)

  • 主题发起人 山水之间
  • 开始时间

山水之间

Unregistered / Unconfirmed
GUEST, unregistred user!
在压缩数据库之前应当关闭数据库,我用的是table链接数据库,但我关闭table的连接也不能成功压缩,代码如下:
table2.Close;
table2.Databasename:='';
zjjlfrm.Table1.close;
zjjlfrm.Table1.Databasename:='';
if compactdatabase('d:/jg.mdb','') then
begin
...
end;
但还是提示数据库被占用。是否我的方法不正确?我也试过table2.Database.connected:=false;但此语句编译出错,有没有更好的办法?
 
BDE?没用过,我用的是ADO,所有TADOTable,TADODataSet,TADOQuery,TADOCommand
都共享一个连接TADOConnection;我只要关闭这个连接就可以压缩数据库了.

连MDB数据库最好还是用ADO控件的好,如果不麻烦,建议你修改试试
 
我试用以下代码:
adoconnection1.Close;
adoconnection1.Connected:=false;
if compactdatabase('d:/newjgdatabase.mdb','') then showmessage('ok');
adoconnection1.connected:=false;
adoconnection1.Open;
adoconnection1.LoginPrompt:=false;
提示出错:数据库被占用
 
Delphi关了没有?如果你在设计期连接了数据库,也不行
ACCESS关了没有?
排除所有可能出现的问题,最好重新启动计算机,然后直接运行EXE文件试试

如果还不行,那就太奇怪了~~~~~~
 
用bde里的database就可以了,谢谢ysai!
 
顶部