C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
реиндексирование таблиц DBF
Gennadiy
Отправлено: 29.03.2005, 13:07


Не зарегистрирован







Привет всем!
Подскажите, есть какие-нибудь стандартные средства в классе TTable или каком другом средства, позволяющие переиндексировать таблицы DBF в случае сбоя? Или как бороться с ошибкой "Key violation"? Причина ее как я понимаю из-за разрушенных индексов....
Guest
Отправлено: 29.03.2005, 13:18


Не зарегистрирован







Посмотрите функции DBI — там это есть (bd32.hlp)
Gennadiy
Отправлено: 30.03.2005, 08:41


Не зарегистрирован







Искал, не нашел ничего подобного sad.gif( У меня стоит обычный 5-й Билдер без всяких прибамбасов. Спасает от проблем не только реиндексация таблиц, но так же упаковка их (аналогично команде PACK в Fox'е). Поэтому если есть простые способы реиндексации или упаковки таблиц, буду признателен за информацию :-))
AVC
Отправлено: 30.03.2005, 09:26


Ветеран

Группа: Модератор
Сообщений: 1583



BShared\BDE\bde32.hlp (простите, пропустил букву при указании имени файла smile.gif )
CODE

C syntax

DBIResult DBIFN DbiRegenIndex (hDb, [hCursor], [pszTableName], [
pszDriverType], pszIndexName, pszIndexTagName, iIndexId);

Description

DbiRegenIndex regenerates an index to ensure that it is up to date (all records currently in the table are included in the index and are in the index order). It can also be used to pack the index on disk.


А еще можно удалить и создать индексный файл заново. Но, мне кажется, что бы полностью насладиться индексами DBase лучше сделать отдельное приложение, например на fox, и запускать его при переиндексации. Или можно поискать в сети компоненты, "заточенные" под DBase (вообще есть, по рукой у меня нет ... вру, вот нашел — давали ссылку Advantage Database Server )
Gennadiy
Отправлено: 30.03.2005, 09:34


Не зарегистрирован







Кажется, нашел, что искал... Спасибо smile.gif) Разберусь дальше
Vlad
Отправлено: 30.03.2005, 11:11


Машинист паровоза

Группа: Участник
Сообщений: 231



Я бы посоветовал для dbf использовать Appollo ,
там есть и индексация и упаковка и остальное что хочешь... smile.gif

Вернуться в Работа с базами данных в C++Builder