Форум — Ответы ( К темам )
? | Владимир: Индексирование существующих таблиц (16-01-2003 22:01:41) |
Подскажите пожайлуста, как в C++Builere 5 сделать индексирование существующей таблицы. Т.е. есть таблица с данными, индексов никаких не создавалось. Необходимо проиндексировать таблицу по текстовому полю, потом, например, поработать в TDBGrid, по завершению удалить индекс, который используется очень редко. Желательно кусочек кода. Всем спасибо! | |
Павел (17-01-2003 09:04:33) | |
Table1->AddIndex(...
| |
Владимир (17-01-2003 19:44:06) | |
В этом месте и выдает ошибку!
| |
vadoo (17-01-2003 20:59:17) | |
А не проще ли создать индекс и пусть себе будет, он не мешает. Работай с TQuery там индексы не нужны. | |
Павел (17-01-2003 21:15:09) | |
А какую ошибку выдает, приведите код программы, текст ошибки и какая таблица — Paradox, dBase ... ? Индексы все равно нужны, даже если с Query Кто вам сказал что компонент Query их не использует ? | |
Владимир (18-01-2003 20:02:15) | |
Таблица Paradox. Вней поле Name — строкового типа Если сделать просто так: Tabl->AddIndex("Name", "Name", TIndexOptions() << ixUnique << ixCaseInsensitive, "Name"); то в этой строке ошибка: Table cannot be opened for exclusive use. А если так: Tabl->Close(); Tabl->Exclusive = true; Tabl->AddIndex("Name", "Name", TIndexOptions() << ixUnique << ixCaseInsensitive, "Name"); Tabl->Exclusive = false; Tabl->Open(); Tabl->Active = true; Tabl->IndexName = "Name"; ... Делаем что-то, но нет индекса ... Tabl->DeleteIndex("Name"); Пишет: "Table is not indexed." |