Delphi5 MSSQL Server7 Связанные таблицы

Vladimir
Дата: 09.06.2000 18:06:22
Помогите пожалуйста..
В моей программе есть два связанных TADOQuery

Master:

SELECT * FROM City
ORDER BY cName

Slave:

SELECT * FROM Zone
WHERE nCity=:Id
ORDER BY cName


Здесь Id это поле в табл City. DataSource в TADOQuery (Zone) указан dsCity

Так вот именно из-за этого и не проходит Post после Append (Zone). Выдается ошибка(примерно) -
"Нельзя модифицировать поле Id". Но ведь это же параметр!! Причем дело именно в этом - пробовал убирать связь -
все прекрасно работает

Спасибо.
Alex
Дата: 25.11.2001 09:52:33
Попробуй свойство Required у поля, по которому у тебя связь, поставить в False.
Глеб Уфимцев
Дата: 26.11.2001 08:22:35
Если не хочется иметь массу малопонятных проблем с мастер-детайл организацией запросов в дельфи, делай по-другому:
1. Убери вот эту связь: "поле в табл City. DataSource в TADOQuery (Zone) указан dsCity"
2. В событии AfterScroll мастер-запроса добавь переоткрытие детайл-запроса (close-open-locate).
3. В событии BeforeOpen детайл-запроса поставь присвоение параметра примерно так <детайл-запрос>.ParamByName('Id').AsInteger:=<мастер-запрос>.FieldByName('Id').AsInteger;

И проблемам с мастер-детайл места не останется.