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

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

Автоинкрементные поля [D1, D2, D3, D4, D5, D6, Paradox]


DAK ©   (2002-06-07 14:54:00) 

Мастера, подскажите - можно ли узнать текущее значение счетчика автоинкрементного поля в paradox, а потом изменить его? Или может быть както по другому можно решить проблему при сбое счетчика?


Anatoly Podgoretsky   (2002-06-07 19:52:00) [1]

Если хочешь, что бы система меняла, то авто, а если делать сам то не надо делать авто.
А так если таблица полетела, то возможно поможет ремонт, но чаще гиблое дело.


Lusha   (2002-06-07 17:06:00) [2]

>DAK (07.06.02 14:54)
Произвести реструктуризацию таблицы... Autoinc -> Integer -> Autoinc...


Дмитрий Калугин   (2002-06-07 16:58:00) [3]

Узнать последнее значение счетчика автоинкрементного поля в paradox в готовой таблице элементарно:

var C:LongInt;
Table1.Last;{при условии, что табл. индексирована по нему.}
C:=Table1.FieldByName("Назв поля").AsInteger;

А вот изменить нельзя :((. Можно найти выход по другому:
(Перед экспериментом советую сделать архивную копию БД)
Открыть табл. в DBD, режим реструктуризации. Удалить это поле, а на его месте породить новое, причем можно задать начальное значение. Для этого в списке "Table properties" выбрать "Validity Checks" И в поле "Min. Value" указать стартовое значение счетчика.
Сохранить таблицу.

Желаю удачи.


-=Sergeante=-   (2002-06-07 16:57:00) [4]

У тебя ИНХО не счетчик грохнулся, а индексы полетели. Есть какие-то утилиты, которые их иногда восстанавливают. Я восстанавливал руками. Муторное дело надо признать.


Наверх

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