Как узнать содержание активной записи в БД

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Следующая функция возвращает в виде указателя на строку содержание активной записи в БД.

function TBDEDirect.GetCurRecord(Lock: DBILockType): PChar;

var

Res: DBIResult;

RecSize: Word;

RecBuf: PChar;

Bookmark: TBookmark;

begin

Result := StrNew(»);

if CheckDatabase then

begin

RecSize := GetPhysicalRecSize;

RecBuf := StrAlloc(RecSize 1);

FillChar(RecBuf^, RecSize 1, #0);

Bookmark := FDataLink.DataSource.DataSet.GetBookmark;

DbiSetToBookmark(FDataLink.DataSource.DataSet.Handle, Bookmark);

FDataLink.DataSource.DataSet.FreeBookmark(Bookmark);

Res := DbiGetRecord(FDataLink.DataSource.DataSet.Handle, Lock, RecBuf, nil);

if Res = 0 then

Result := RecBuf

else

Check(Res);

end;

end;

{/codecitation}

Добавить комментарий