为何table is busy?(30分)

  • 主题发起人 主题发起人 fee
  • 开始时间 开始时间
F

fee

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用DATABASE DESKTOP的RESTRUCTURE 时,为何table is busy?
而该数据库并末打开,这是为何?
 
你先把你的TTable的Active:=False;
 
该数据库肯定被打开了!
你先用Hexi的方法,如果不行,你可以把该表对应的工程
关掉,这时应该可以了。
如果还不行,请重起机器(Reset)。
如果还不行!!!
那么很不幸!可能表受到破坏了!重新建立该表吧!
这应该可以了!
 
》thtfsyh:
关闭工程后不行,只有RESET DELPHI 才行,
我想知道WHY?
 
新建一个application,在form上放一个ttable or Tquery.设定为连接某一数据
库,active:=true,这时你用 database desktop打开这个数据库,点restructrue
,会出现table busy.把form上的ttable.active:=false,restructure 就没问题了
 
可能是程序没运行完就被中止了,而在内存中还保留有打开该表的句柄.
 
我也常遇到, 退出delphi就好了.大概是調程序中斷後引起.
 
这个问题的确经常出现,我的办法是reset.
应该是Delphi或BDE的bug吧。
 
内存中打开了该表尚未释放。
 
用不着重启DELPHI或重启机器。
这个问题是由于你已经在某个地方打开了该表。
由于你是用DESKTOP打开表时出错,
所以可能你在DELPHI的当前打开的程序中已经打开该表了。
特别要注意的是,你的程序并不一定要运行,如果你在设计状态下将
TABLE构件的ACTIVE设置成TRUE,则表示它已经把该表打开了,
这时,你若用DESKTOP打开该表,就会报上述错误。
你只要到程序中将TABLE构件的ACTIVE设置为FALSE就可以了。
 
时间太久,强制结束。 wjiachun
 
后退
顶部