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 |
|
Не зарегистрирован
|
Искал, не нашел ничего подобного ( У меня стоит обычный 5-й Билдер без всяких прибамбасов. Спасает от проблем не только реиндексация таблиц, но так же упаковка их (аналогично команде PACK в Fox'е). Поэтому если есть простые способы реиндексации или упаковки таблиц, буду признателен за информацию :-)) |
|
AVC |
Отправлено: 30.03.2005, 09:26 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
BShared\BDE\bde32.hlp (простите, пропустил букву при указании имени файла )
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 |
|
Не зарегистрирован
|
Кажется, нашел, что искал... Спасибо ) Разберусь дальше |
|
Vlad |
Отправлено: 30.03.2005, 11:11 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
Я бы посоветовал для dbf использовать Appollo ,
там есть и индексация и упаковка и остальное что хочешь... |
|