![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при активизации TTable??? [D5, Paradox, ]
Николаев Констанитн © (2001-12-04 20:54:00)Уважаемые специалисты!
Что значит ошибка "Index is out of date"?
С уважением,
Константин.
kaif (2001-12-05 22:13:00) [1]Эта ошибка существует в D3,D4,D5. В D6 не проверял, но уверен и там она есть. Я пробовал писать даже на Borland Second Team по этому поводу, но никто меня слушать даже не захотел - отсылали на форумы. Хотя это чудовищный баг, по моему мнению. Ошибка генерится по следующему алгоритму:
1. Вставляете запись в таблицу Paradox, с нарушением уникального индекса. Неважно, первичного или вторичного. Возникает Key violation.
2. Делаете невинный SQL-запрос против этой таблицы. Любой, например,
SELECT * FROM <table>
3. Вставляете еще раз запись с нарушением уникального индекса. сообщение Key violation больше не появляется.
После переоткрытия таблицы будете гарантированно иметь "Index is out of date."
Кто не верит, могу выслать исходный код демонстрационной программы .
Из за этого мне пришлось выбирать между Paradox и Local SQL. Выбор был трудный. И я выбрал InterBase.
Главная подлость этой ошибки в том, что программист не пытается обычно создать более 1 key violation подряд. Этим обычно занимается пользователь. Поэтому ошибка плохо уловима и иногда вылезает через пару месяцев работы базы.
andey (2001-12-05 21:33:00) [2]на сколько я помню у меня эта ошибка возникала когда я создал таблицу, потом написал прогу а потом изменил название поля таблицы и при следующей загрузки связи компонентов были установлены на старое имя поля
Anatoly Podgoretsky (2001-12-05 08:04:00) [3]А первичный ключ?
Никто (2001-12-05 03:48:00) [4]Кстати весьма частая, к сожалению, для Парадокса.
Ю.Ю. (2001-12-05 02:48:00) [5]Ошибка в индексном файле. Нужно удалить и создать заново.
Anatoly Podgoretsky (2001-12-05 01:02:00) [6]Устарел