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

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

Как подловить индекс?


cutter-pro ©   (2002-10-31 16:02:00) 

Завязал, значит, я вчера две таблицы: главная и подчиненная в отношении один ко многим и столкнулся с такой вот проблемой:
При попытке добавления новой записи в подчиненную таблицу выдается следующее сообщение об ошибке:

Ошибка EDBEngineError с сообщением "Index is read only"...

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


cutter-pro   (2002-10-31 18:39:00) [1]

2MSGuns Большое спасибо! Попробую, но уже дома (ночью:). Если че не получится спрошу снова:)


MsGuns   (2002-10-31 17:49:00) [2]

В таблице Table1 TN определен как PRIMARY KEY (PK), а в детале Table2 у тебя имеется поле TN, определенное как индекс, связанное отношением Master<>Detail с Table1. И других полей в индексе нет !. Т.е. у тебя типичное отношение "Один к одному". При такой ситуации невозможно на детале удаление или вставка, только изменение, причем не ключа (индекса) !

Если надо сделать отношение Один-ко-многим в детале надо определить как минимум еще одно поле как ключевое и добавить его в индекс tn_ind.

Хотя если эти таблы связаны "по жизни" (типа мастер - это список челов, а детал, это, например, данные о составе семьи каждого чела), то в детале также надо определять TN и MemberID как PRIMARY KEY. Тогда все свяжется и будет нормально работать.


cutter-pro   (2002-10-31 17:38:00) [3]

Мой вопрос неинтересен для мастеров или слишком глупый для логичного ответа?


cutter-pro   (2002-10-31 16:42:00) [4]

Да, еще забыл, таблицы типа Paradox 7


cutter-pro   (2002-10-31 16:33:00) [5]

Добавляю записи в DBGrid.


cutter-pro   (2002-10-31 16:32:00) [6]

Type ... Key
Главная таблица: TN N *
(Table1) NAME A
Подчиненная: TN N
(Table2) Myday N
В подчиненной таблице с помощью "Secondary indexes" определен индекс tn_ind для поля TN.
Table2.MasterSource <-> DataSource1
где DataSource1 завязан на Table1
Table2.MasterFields <-> TN
Table2.IndexName <-> tn_ind


MsGuns   (2002-10-31 16:17:00) [7]

>Johnmen © (31.10.02 16:08)
>М.б. для добавляемой записи нет соотв-ей в главной...

.. или ключ связки с Мастером пустой (NULL) на Мастере


Johnmen   (2002-10-31 16:08:00) [8]

Какие ключи и индексы в подчиненной ?
Как добавляется ?
Какой тип БД ?
М.б. для добавляемой записи нет соотв-ей в главной...


Anatoly Podgoretsky   (2002-10-31 16:07:00) [9]

У тебя база есть?


Наверх

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