IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Базы данных, связывание таблиц
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Есть 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';


Проект и файлы таблиц прилагаетися ...


Прикрепленные файлы
Прикрепленный файл  _____1.rar ( 319.78 килобайт ) Кол-во скачиваний: 46
Прикрепленный файл  WorkDir.rar ( 1.86 килобайт ) Кол-во скачиваний: 50


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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

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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 25.09.2017 4:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"