Помощь - Поиск - Пользователи - Календарь
Полная версия: Базы данных, связывание таблиц
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
klem4
Есть 2 таблицы Paradox, в 1-й (main.db) одно единственное поле

M_Name : A : 30 : *

По нему-же постоен индекс : indM_Name

Вторая таблица (child.db) состоит из 2-х полей :

C_Name : A : 30 : *
C_Info : A : 30 :

По полю C_Name посроен индекс indC_Name

При работе почему-то я могу для одной записи главной таблицы добавить лишь одну запись в подчиненную, если попытаться добавить еще одну запись в подчиненную таблицу возникает ошибка Key Violation, с чем это связано ? Связь между таблицами я налаживал программно, в обработчике формы OnCreate.

  tblChild.MasterSource := dsMain;
tblChild.MasterFields := 'M_Name';
tblChild.IndexName := 'indC_Name';
tblChild.IndexFieldNames := 'C_Name';


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

Для таблиц Paradox в качестве полей связи главной таблицы должны использоваться поля ключа (у меня поле было ключевым + для него был определен вторичный индекс что судя по всему не верно), а для подчиненной таблицы - поля индекса (опять же это поле я сделал еще и ключевым, что не верно)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.