![]() |
|
Модераторы: Akella |
![]()
|
|
| lavish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.5.2004 Репутация: нет Всего: нет |
Есть таблица Paradox, и у ней есть поле автоинкремент. Более того по этому полю сделан первичный индекс. Время от времени у поля слетает счетчик, причем назад... Т.е. например последнее присвоенное значение было 10, счетчик слетает назад на 5 и при добавлении новой записи автоинкремент выставляется на 5, но запись с таким значением уже была, естественно возникает ошибка "Key violation". Вопрос в следующем: может кто знает как можно взять эту таблицу и изменить там только счетчик, выставить его на нормальное число, при этом не трогая больше ничего в таблице..Интерисует именно как это сдлеать в программе, т.е. если кто знает, может библиотека такая есть (с этой функцией) или может кто структуру Paradox подскажет чтобы можно было прямо в файле все исправить.
|
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
В MySQL прокатывает
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| lavish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.5.2004 Репутация: нет Всего: нет |
Не прокатило. Но зато нашел новый способ в дебрях интернета. Дело в том что значение автоинкремента хранится в фале по адресу $49, в итоге получаем такую программу (на Delphi)(код не мой, и изменять я его не стал, все работает):
------ procedure SetAutoIncInTable(ATablePath:string;ANewAutoInc:integer); begin with TFileStream.Create(ATablePath,fmOpenReadWrite) do try Position:=$49; Write(ANewAutoInc,SizeOf(ANewAutoInc)); finally Free; end; end; ---- единственное, что следует проверить чтобы файл не был никем не занят, а так все ОК. Проверял на разных файлах с различной структурой, все было отлично... Всем удачи.. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Другие СУБД | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |