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

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

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;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com