Вопрос по master-detail

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Вопрос по master-detail

Сообщение Climber »

Есть два ZQuery - один master, другой, как не трудно догадаться - detail. В detail'e я указываю MasterFiled и LinkedField, пишу текст запроса. Запрос вида: select * from mytable (то есть никаких дополнительных условий). Если датасет Master содержит 1 или больше записей, то датасет Detail, соответственно, содержит какое-то количество связанных записей. А если master содержит 0 строк, то Detail содержит всю таблицу mytable. А можно как-то сделать так, чтобы в этом случае Detail тоже содержал 0 строк?
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

Открывать связанный датасет только если у мастера (RecordCount > 0). Если последнее False, то и данные связанной таблицы вообще ни куда не нужны.

ps/ Это что? Загадка на сообразительность?
abarit
незнакомец
Сообщения: 9
Зарегистрирован: 15.03.2010 19:42:17

Сообщение abarit »

На самом деле, это не правильно, на мой не искушенный взгляд...))))
С БД, в сием чуде пока разбираюсь, но там явно стоит тугой фильтр... Который по совпадению значений фильтрует... И хорошо если у вас поля связи строковые, ну берет пустую строку и шарашит... А если нет?.... Это страх божий...

Результат операции с null - всегда null... :roll:
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Сообщение Climber »

dunin писал(а):ps/ Это что? Загадка на сообразительность?
Нет. Всего лишь конец первого рабочего дня после тяжелой брлезни :roll:
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Сообщение Climber »

Вот, кстати, второй вопрос.
Когда происходит Master.Open, что будет раньше - обновление Detail или Master.OnAfterOpen?
Ответить