| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Обновление запроса после добавления записи |
| Автор: former 20.5.2009, 00:50 | ||
| Есть связка master-detail вида: Таблица Countries CountryID, CountryName Таблица Companies CompanyID, CountryID, CompanyName После добавления записи в таблицу Countries, не используя
если сразу добавлять запись в таблицу Companies, то выдается ошибка о том, что значение внешнего ключа пустое. Возникает вопрос. Каким образом получить значение CountryID добавленной записи без обновления всего запроса? |
| Автор: Экскалупатор 20.5.2009, 08:10 | ||
что то не совсем понял, что вы имеете в виду, но почему нельзя сначала получить CountryID, а затем добавить его в запись Companies? По моему если у вас таблица Companies зависит от Country, то вполне логично сначала узнать к какой стране относиться компания, а потом заносить ее(компанию) в базу. |
| Автор: former 20.5.2009, 15:02 | ||||
Делал все по документации. Наверно я плохо объяснил. 1. Добавляем запись в таблицу Countries через CountryDataSet (AutoCommit:=true, poRefreshAfterPost:=true). 2. Добавленная запись появляется в Grid-е (EhLib). 3. В CompanyDataSet (dcForceOpen:=true, dcWaitEndMasterScroll:=true) и соответствующем Grid-е происходит обновление. 4. При попытке добавить в таблицу Country запись и записать в поле CountryID данные из CountryDataSet, текущей записи, появляется сообщение об ошибке (значение внешнего ключа равно 0). При выполнении
ошибка (п. 4) не возникает. |
| Автор: Akella 20.5.2009, 17:17 |
Сейчас не лучше. Откуда нам знать о связях твоих таблиц? Сделай небольшой тестовый пример и выложи сюда, если не сложно. Добавлено через 7 минут и 53 секунды former, ты про MAS_ID прочитал? Ты заполнил свойства autoupdate? |
| Автор: former 20.5.2009, 18:30 |
Читал, читал. Master-detail настроена по мануалу. А вот здесь, Akella, тыпопал в самую точку. Akella, +1 (правда, только завтра - форум не дает). P.S. Никак не найду время полностью изучить мануал по Fib-ам. Буду исправляться. |
| Автор: Akella 20.5.2009, 20:01 |
| На сайте devrace.com есть примеры, если не найдёшь, то могу скинуть. |
| Автор: former 20.5.2009, 20:37 |
| Akella, они у меня есть. Спасибо! |