Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
ВнизПроблема с индексами Найти похожие ветки
← →
Alex_VV (2002-07-29 16:39) [0]Мастера, помогите, pls!
Создаю в Database Desktop базу Paradox 7.
Два поля: Field Name | Type | Size
Cod Alpha 2
Vendor Alpha 20
По книжке создаю индекы (Secondary indexes)
в indCod поле Cod, в indVendor поле Venodr.
После добавления записей
Table1.Edit;
Table1.Insert;
Table1.FieldByName("Cod").asString:="A1";
Table1.FieldByName("Vendor").asString:="Поставщик";
Table1.Post;
Table1.Refresh;
пытаюсь сделать сортировку
Table1.IndexName="indVendor";
- ругается:
Index is out of date. :((
Судя по всему не обновляется индех.
В том же Database Desktop снова открываю
эту базу, убиваю индексы, создаю снова,
после чего сортировка работает.
Стоит опять добавить запись и опять ошибка
при сортировке :(
С индексом нужно отдельно работать что ли?
Или я вообще ничего не понял в базах?
Хелпните плиз, объясните.
Заранее спасибо.
← →
Mike Kouzmine (2002-07-29 16:53) [1]Да нет, все верно. Единственно, надо сделать Primary индекс, если комбинация полей должна быть уникальна, то можно по ним, если нет, то добавить Autoinc и по нему сделать первичный индекс.
← →
Alex_VV (2002-07-30 21:44) [2]Удаляю все вторичные индексы, помечаю все поля как ключевые (первичный индекс), но просматривая вторичный индек вижу что он опять существует.
Попытка отсортировать базу по второму полю опять приводит к все той же ошибке. А мне необходима сортировка именно по второму полю. Можно конечно поля поменять местами, если нет конечно иного выхода... :(
← →
Aleksandr (2002-07-30 21:53) [3]1. У Вас наблюдаются совершенно ненужные строчки:
Table1.Edit - не нужна. Зачем переходить в режим редактирования, если после этого будет режим вставки? Ошибка сразу выходит...
Table1.Refresh - не нужна. Вы же работаете с этой таблицей, БДЕ сам отследит, что надо обновить.
2. Зачем все поля помечать как ключевые? Для этого достаточно одного поля автоинкрементного идентификатора. И что Вы имеете в виду под вторичными индексами и их "просматриванием"?
← →
Anatoly Podgoretsky (2002-07-31 09:31) [4]Парадокс однако, что ты от него хотел
По твоей структуре явно просматривается, что поле Cod у тебя уникальное, вот его и сделай первичным ключом, а поле Vendor вторичным индексом, обслуживаемым.
Если же полен не уникальное, то первичным ключом оба поля, плюс два вторичных индекса
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c