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

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

Программное удаление индекса из dbf [D7, dBase, FoxPro]


Karburator ©   (2006-05-16 16:34:00) 

Нужда заставила подключать к проге ДБэФовские таблицы (DBase), хочу при каждой загрузке обновлять для них индексы, то есть удалять и заново создавать средствами Делфи. С созданием индекса проблем не возникло, а вот с удалением сущесвующего все никак не клеится помогите советом кто знает.

 Table_Streets.AddIndex('i_street', 'street', [ixPrimary, ixUnique]);   // РАБОТАЕТ

А вот так выглядели мои безуспешные попытки:
// Table_Streets.DeleteIndex('c:\street.CDX');   // НЕ РАБОТАЕТ
// Table_Streets.DeleteIndex('i_Street');  // НЕ РАБОТАЕТ, в этом случае вообще не там ведется поиск индексного ф-ла

Как я понимаю, в случае если индекс уже подключен, его сперва нужно закрыть - тоже не получается!
 // Table_Streets.CloseIndexFile('c:\street.CDX');   // НЕ РАБОТАЕТ
 // Table_Streets.CloseIndexFile('i_street');   // НЕ РАБОТАЕТ


Karburator   (2006-05-16 17:30:00) [1]

-> если с одними и теми же таблицами одновременно работают из БДЕ-программ и из каких-то еще программ, то будут конфликты при записи/удалении данных

понял, этого не предполагается, зато предполагается другое, что с одними и теми же справочниками будут работать разные таблицы это не грозит непредсказуемыми последствиями? Извиняюсь если вопрос глупый, с ДБФами давно не приходилось работать.


Karburator   (2006-05-16 17:25:00) [2]

а вообще теоретически это должно работать?
...
 Table_Streets.IndexName:= '';
 Table_Streets.Exclusive:= True;
 Table_Streets.Active:= True;
 Table_Streets.DeleteIndex('i_Street');
...


Desdechado   (2006-05-16 17:19:00) [3]

если с одними и теми же таблицами одновременно работают из БДЕ-программ и из каких-то еще программ, то будут конфликты при записи/удалении данных


Karburator   (2006-05-16 17:15:00) [4]

Спасибо, попробую
-> помни, что при совместной работе БДЕ-приложений с другими (не-БДЕ) гарантированы конфликты, т.к. система блокировок у них разная
- не совсем понял, что при перемещении данных меж таблицами ДБФ и Ибейзом(5.5) могут возникнуть проблемы?

и кстати, альясами не пользуюсь - не играет это какой-нибудь роли?


Desdechado   (2006-05-16 16:45:00) [5]

> Нужда заставила подключать к проге ДБэФовские таблицы
помни, что при совместной работе БДЕ-приложений с другими (не-БДЕ) гарантированы конфликты, т.к. система блокировок у них разная

по сабжу
попробуй SQL-команду DROP INDEX


Наверх

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