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

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

Как пересоздать индексные файлы? (DbiRegenIndexes не работает) [Paradox]


IGray ©   (2004-09-30 04:06:00) 

Не знаю, юзерa глючат или Paradox, но мои таблицы периодически лишаются каких-нибудь индексных файлов. Пытаюсь использовать DbiRegenIndexes, но ничего не создаётся :-( Или оно "с нуля" не умеет индексы создавать?
Конкретизирую - есть компонент Table1 типа TTable c загруженной в него инфой о полях и индексах, он "нацелен" на определённую таблицу, но индексы этой таблицы удалены и остался только ".DB" файл. Как восстановить удалённые индексные файлы?
Заранее спасибо за совет!


ЮЮ   (2004-10-01 04:07:00) [1]

>Предполагаю что нужно "пробежаться" по IndexDefs ...
в Helpe написано наоборот: "you cannot use TIndexDef objects in a dataset component’s IndexDefs property to add indexes to already existing tables. To do that, use methods such as AddIndex."

И это естественно, так как при запуске программы при удаленных индексных файлах ей ничего неизвестно об индексах (кроме тех, которые прописаны в св-вах TTable), на форме же нет компонентов TIndexDef, этот спмсок формируется динамически.  Поэтому лучше иметь скрипт создания индексов где-то отдельно и исполнять его или описать все индексы в коде


IGray   (2004-09-30 12:36:00) [2]

OK, а заново создать-то как?
Может есть у кого-нибудь рабочий код для восстановления удалённых индексных файлов?
Предполагаю что нужно "пробежаться" по IndexDefs и для каждого IndexDef вызвать dbiAddIndex, но эта функция требует параметр типа IDXDesc, а как его получить по IndexDef?
Подскажите пожалуйста!


sniknik   (2004-09-30 08:22:00) [3]

восстановить удаленное можно только созданнием его заново, а не обновлением существующего (DbiRegenIndexes).


Наверх

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