Добавление нового значения через TEdit (Не DBEdit!) c помощью связи Master-Detail
Всем доброго дня. Подскажите, пожалуйста. Есть две таблицы (Страна, город), взаимосвязь между ними осуществляется с помощью Master-Detail, и всё работает отлично. Проблема заключается при добавлении нового города (через TEdit), которого нет в таблице. Если с добавление новой страны не требуется наличия внешнего ключа, то в случае с добавлением города он требуется. С DBEdit'ом получается добавить таким образом данные, так как он внешний ключ города автоматически привязывает к стране, но как прописать это с обычным TEdit'ом, что нужно прописать здесь, чтобы он добавлял также ключ от выбранной страны?
begin
Form4.Query_City.Insert; // не выполняется: ошибка "Field 'ID' cannot be modified."
Form4.Query_City.FieldByName('ГОРОД').AsString := Form5.Edit1.Text;
Form4.Query_City.Open;
Form4.Query_City.Post;
Код выше работает с добавлением новой страны, которой нет в списке, но не работает с городом
Ответы (1 шт):
if Query_Country.Locate('СТРАНА', [Edit_Counrty.text]) then
begin
// Датасет Query_Country спозиционирован на строку из Edit_Counrty
// Можно использовать Query_Country.FieldByName('ID')
end
else
begin
// Не нашил нужную страну.
// Добавить или сообщить об ошибке
end