Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Проблема с таблицами в БД

Автор: dron4ik 19.11.2010 1:54

Имеется 2-е таблицы дочерняя и родительская..нужно их связать вот так:

Между отдельными таблицами БД может существовать связь, которая организуется через поля связи таблиц. Поля связи обязательно должны быть индексированными. Связь между таблицами определяет отношение подчиненности, при котором одна таблица является главной, а вторая - подчиненной.
Для организации связи между таблицами в подчиненной таблице используются следующие свойства:
 MasterSource – источник данных главной таблицы.
 IndexName – текущий индекс подчиненной таблицы.
 IndexFieldNames – поле или поля связи текущего индекса подчиненной таблицы.
 MasterFields – поле или поля связи индекса главной таблицы.

это я сделал..но когда я добавляю запись в дочернюю таблицу и пытаюсь сохранить, то выходит ошибка---мол, индекс устарел(сам перевел с английского языка)...и все данные в двух таблицах удаляются...

Таблицы работают через Table.

Автор: мисс_граффити 19.11.2010 13:51

А в родительской уже создана соответствующая запись?

Автор: dron4ik 19.11.2010 21:50

да, создана)

Добавлено через 1 мин.
т.е. родительская таблица не пустая...

Автор: dron4ik 19.11.2010 22:39

упс...чуть ошибся...когда я добавил запись в дочернюю таблицу и жму "сохранить" вылетает...ошибка такая: Key violation...а потом при последующем запуске бд выходит ошибка index is out of date.

Автор: мисс_граффити 20.11.2010 2:58

dron4ik, не уверена, что ты меня правильно понял...
Не знаю, про что у тебя база. Ну пример: учебные группы - студенты
Когда добавляешь студента, УЖЕ должна быть созданна именно та группа, в которой он учится. Если у тебя будет создано хоть сто групп, но других - его добавить не удастся (если контроль настроен, разумеется).

В идеале - покажи содержимое таблиц и то, что пытаешься добавить

Автор: dron4ik 20.11.2010 22:01

Ты права...я не умел пользоваться таблицами..надо было сначало добавлять в родительскую таблицу а потом только в дочернюю..теперь нет ошибок smile.gif