Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

Проблема с индексами   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-71379
Squ
2002-07-25 08:58
2002.08.22
HALCyon


3-70986
ППавел
2002-07-31 10:24
2002.08.22
Ячейки Базы данных


6-71289
Alessio
2002-06-09 23:59
2002.08.22
Как запустить программу...?


7-71405
Avenger
2002-06-07 23:39
2002.08.22
XP-темы


14-71302
ded_di
2002-07-25 17:12
2002.08.22
Тех.Задание