The Unofficial Newsletter of Delphi Users - by Robert Vivrette

Просмотр автоинкрементальных полей в Paradox

By Adrian Williams - adsus@ihug.co.nz

Перевод Руденко Е.В.   janer@newmail.ru    июнь  2001 года

 

Я предлагаю интересный тип от  Borland Support Web Site , касающийся  автоинкрементальных (autoincrement) полей для таблиц  баз данных Paradox ( я думаю 7 версии). Содержимое поля хранится в заголовке структуры таблицы. Предлагаемая функция возвращает текущую величину из заголовка.

function getAutoInc(filename : string) : LongInt;
var
   myStream : tFileStream;
   buffer : LongInt;
begin
   myStream := tFileStream.create(filename, fmOpenRead + fmShareDenyNone);
   myStream.Seek(73, soFromBeginning);
   myStream.ReadBuffer(buffer, 4);
   myStream.Free;
   getAutoInc := buffer;
end;
 Для нахождения следующего значения автоинкремента , добавьте 1 к значению функции  getAutoInc . При многопользовательской работе использовать данную функцию нужно осторожно, так как другие пользователи могут обновить поля между вашим прочтением значения  автоинкремента , записав, например, свою запись в таблицу.

Возврат в Tips&Tricks