如何得知TABLE及RECORD是否被LOCK?(最好有例子)(50分)

  • 主题发起人 主题发起人 呆非4
  • 开始时间 开始时间

呆非4

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DbiIsRecordLock,但总有问题。谁能给我一个例子?
 
uses .., DB, DBTables, DBConsts, DbiTypes, DbiProcs;

function IsLocked(ATable: TTable): boolean;
var
RecordProps: RECProps;
wResult: DBIResult;
begin
Result := True;
with ATable do
begin
if State = dsInactive then DBError(SDataSetClosed);
UpdateCursorPos;
wResult := DbiGetRecord(Handle, dbiWriteLock, nil, @RecordProps);
if wResult = DBIERR_NONE then
begin
DbiRelRecordLock(Handle, False);
Result := False;
end;
end;
end;

--摘自钱达智的笔记
 
顺便说一下,我用的是CBUILDER,DELPHI的答案也行,
FX是先加写锁,不能加则表明已经被加锁了???
 
在Delphi DEBUG时因程序非正常中止常出现本地表被锁的情况,此时怎样知道表
被锁,以及怎样解锁,SQL服务器似乎无此问题
 
怎么没人回答了?
 
接受答案了.
 
后退
顶部