![]() |
|
![]() ![]() ![]() |
|
4EVERCooL |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Продублирую свой пост на sql.ru, может вы охотнее поможете?
![]() Итак, база данных состоит к примеру из трех таблиц - справочника людей, справочника сертификатов этих людей и таблицы связи "многие ко многим" человек/сертификат. Представьте себе форму, на ней два грида и два датасета. Один показывает список людей, второй связан с первым по мастер-деталь и показывает список сертификатов у человека, выбранного в данный момент в первом датасете. Первый датасет прекрасно редактируется из делфей, тут проблем нет. Во втором оператор выбора данных такой:
А оператор вставки вот такой:
Компонент доступа как вы догадались - ФИБПлюс. И вот тут затык. Ввожу в новой форме данные сертификата выбранного человека: procedure TFADDCert.bsSkinButton1Click(Sender: TObject);
И эта сволочь ругается на то, что не может произвести вставку, поскольку на поле EMPLOYEES_EMP_ID наложено ограничение not null . Так вот мой вопрос. Насколько я понял, добавление суффикса MAS_ к имени поля означает, что ID человека из справочника, выбранного в данный момент в мастер-датасете, будет добавляться АВТОМАТОМ в таблицу связей (поле EMPLOYEES_EMP_ID). Но этого не происходит... Подскажите пожалуйста, что я делаю не так. Заранее сэнкс. ![]() |
||||||
|
|||||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 4 Всего: 146 |
имхо мало инфы для корректной помощи ,
хоть бы показал как создавались таблицы и какие поля есть в них к чему это вообще не понятно (( -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
Необходимо у компонентов DataSet настроить AutoUpdate Options (см. офф. документацию стр. 106). Romikgy, прочти в офф. руководстве стр. 39. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 4 Всего: 146 |
former,
к чему офф руководство ? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
4EVERCooL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Думаю, что не лучше. Официально ведь рекомендуетсяв Firebird использовать именно соединения ![]() ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
4EVERCooL |
|
||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
А почему? ![]() ![]() |
||||
|
|||||
Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 4 Всего: 146 |
прочитал
имхо возможно что из за того проблемка что в руководстве запрос простой , а у автора
где то здесь упоминалось о редактируемости запросов и не редактируемости .... могу и ошибаться... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||
|
|||||
Bose |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
AutoUpdateOptions тут не причём.
1й вариант - добавить второму(detail) датасету обработчик события OnBeforePost с кодом:
2й вариант - добавить в код вставки записи строку:
3-й вариант. Будет работать при условии, что master-detail сделано через свойство DataSource+MasterField(или как они там называются). Изменить SQL для вставки на следующий.:
|
||||||
|
|||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
Очень даже причем. Набросал небольшой пример. Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |