执行删除操作时,报“文件共享锁定数溢出,错误号为3052”,是什么原因导致?怎么解决?(50分)

  • 主题发起人 主题发起人 YNTW
  • 开始时间 开始时间
Y

YNTW

Unregistered / Unconfirmed
GUEST, unregistred user!
with ADOConnection1 do
try
Application.ProcessMessages;
Screen.Cursor:=crHourGlass;
BeginTrans;
with ADOQueryC1 do
begin
close;
sql.Text:='delete from XS where XH not like "'+Edit1.Text+'%"';
execsql;
close;
sql.Text:='delete from XSCJ where XH not like "'+Edit1.Text+'%"';
execsql;//在IDE环境中运行,出错时Delphi定位在这行
close;
sql.Text:='delete from BJ where BJH not like "'+Edit1.Text+'%"';
execsql;
close;
sql.Text:='delete from XX where XXH not like "'+Edit1.Text+'%"';
execsql;
close;
sql.Text:='delete from KC where XXBH not like "'+Edit1.Text+'%"';
execsql;
close;
sql.Text:='delete from PQ where PQ<>"'+Edit1.Text+'%"';
execsql;
close;
end;
CommitTrans;
Screen.Cursor:=crDefault;
Application.MessageBox('成功!','返回信息',MB_OK+MB_ICONInformation);
except
RollbackTrans;
Screen.Cursor:=crDefault;
Application.MessageBox('失败!','返回信息',MB_OK+MB_ICONError);
end;
 
补充一下,数据库是ACCESS 97
 
我在ACCESS 97所带的帮助中查到了这个错误:
超出文件共享限制数。(错误 3052)
超出了记录限制所允许的记录数量,这个极限经由 MaxLocksPerFile 设定并注册在所在的系统内。默认值是 9500,可用 Regedit.exe 编辑注册设定或用 SetOption 方法设定。
引起应用程序遇到此限制的一些可能因素如下:

?可用内存的总数量
?记录集内数据行的大小
?网络操作系统的限制

[red][/red]呵呵,看来还是我自己找到问题了,请版主把分还给我了:)[:D]
 
倒,问题结束了,这分收不回来了?[:(]
 
没办法,老大,是偶欠你的(被逼的)!
 
嘿嘿,偶也陷害你一次,谢谢杜老大了
 
后退
顶部