Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

автоинкрементное поле в dbf [D6, dBase, FoxPro]


Dub ©   (2004-08-13 07:43:00) 

Подскажите, как можно сделать автоинкрементное поле в dbf. Конечно, можно брать значение поля из последней записи (оно должно быть числовым) и прибавить к нему 1, но если посдеднюю запись удалили?


Desdechado   (2004-08-13 10:49:00) [1]

И не забывать блокировать файл на время определения максимального значения - тогда никто не сможет параллельно его же вычислить.
Есть, правда, загвоздка - интервал времени между разблокированием и подтверждением записи нового максимального значения. В это время может сосед получить такой же номер, как у тебя.


Ditrix   (2004-08-13 10:05:00) [2]

select max(id) + 1 as new_id
from dbf_file


Dub   (2004-08-13 08:28:00) [3]

Да, получается, что- только через зад....(нюю дверь) - лишь бы работало. Thank you!!!


Lvitaliy   (2004-08-13 08:20:00) [4]

по не правильному можно завести таблицу с одним полем для хранения значения, если это не подходит то только перебором


Наверх

Титульная страница Поиск, карта сайта Написать письмо