W
windbell
Unregistered / Unconfirmed
GUEST, unregistred user!
建立一个paradox库db1.db
在数据模块中加入了ADOConnect1,adoquery1,datesouce1,table1
设置好ADOConnect1的连接字符串,将adoquery1的connect属性设为
ADOConnect1,sql属性中加入'select * from db1',datesouce1的dateset
属性设为adoquery1,table1的tablename设为db1.db.
连接字符串如下(这个是用向导建立的):
Provider=MSDASQL.1;Persist Security Info=False;
Extended Properties="CollatingSequence=ASCII;
DefaultDir=D:/fm;Driver={Microsoft Paradox Driver (*.db )};
DriverId=538;FIL=Paradox 5.X;FILEDSN=D:/fm/fm.dsn;MaxBufferSize=2048;
MaxScanRows=8;PageTimeout=5;ParadoxNetPath=C:/WINDOWS/SYSTEM;ParadoxNetStyle=4.x;
ParadoxUserName=admin;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
建立一个form1,在其上加入dbgrid1,设置它的datesource属性为datesource1
执行adoquery1.open后在dbgrid1中可以看到库中内容。现在我想用table1为
db1.db建立主索引,这时问题出现了,调用
table1.AddIndex('i_cid','cid',[ixPrimary]); //cid为库中一个字段
出现提示:
Project Profject1.exe raised exception class EDBEngineError
with message 'Object not locked'.Process stropped.Use Step or Run to
continue.
如果在adoquery1.open执行前建立主索引,则不出错。只要一执行adoquery1.open
则不论以后是否将其关闭都出现以上错误提示。更改ADOConnect1的mode也不管用。
同样情况下如果库中内容为空,则出现:
Project Project1.exe raised exception class EOleExecption with message
'BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个
当前的记录。'.Process stopped.Use Step or Run to continue.
其它现象同数据库不空时完全一样。
请高手帮忙解决!