![]() |
|
Модераторы: Akella |
![]()
|
|
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Есть связка master-detail вида:
Таблица Countries CountryID, CountryName Таблица Companies CompanyID, CountryID, CompanyName После добавления записи в таблицу Countries, не используя
если сразу добавлять запись в таблицу Companies, то выдается ошибка о том, что значение внешнего ключа пустое. Возникает вопрос. Каким образом получить значение CountryID добавленной записи без обновления всего запроса? -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: нет Всего: 24 |
что то не совсем понял, что вы имеете в виду, но почему нельзя сначала получить CountryID, а затем добавить его в запись Companies? По моему если у вас таблица Companies зависит от Country, то вполне логично сначала узнать к какой стране относиться компания, а потом заносить ее(компанию) в базу. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
1. Фибы отлично с этим справляются. 2. Почитай в документации. Раздел Master-detail. 3. А примеров разве нет? Добавлено через 1 минуту и 51 секунду Если не разберёшься, сделаю пример. |
|||
|
||||
| former |
|
||||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Делал все по документации. Наверно я плохо объяснил. 1. Добавляем запись в таблицу Countries через CountryDataSet (AutoCommit:=true, poRefreshAfterPost:=true). 2. Добавленная запись появляется в Grid-е (EhLib). 3. В CompanyDataSet (dcForceOpen:=true, dcWaitEndMasterScroll:=true) и соответствующем Grid-е происходит обновление. 4. При попытке добавить в таблицу Country запись и записать в поле CountryID данные из CountryDataSet, текущей записи, появляется сообщение об ошибке (значение внешнего ключа равно 0). При выполнении
ошибка (п. 4) не возникает. Это сообщение отредактировал(а) former - 20.5.2009, 15:18 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Читал, читал. Master-detail настроена по мануалу. А вот здесь, Akella, тыпопал в самую точку. Akella, +1 (правда, только завтра - форум не дает). P.S. Никак не найду время полностью изучить мануал по Fib-ам. Буду исправляться. Это сообщение отредактировал(а) former - 20.5.2009, 18:33 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
На сайте devrace.com есть примеры, если не найдёшь, то могу скинуть.
|
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Akella, они у меня есть. Спасибо!
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |