Связанные записи в 2 DBGrid

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

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

Ответить
Slava1970
новенький
Сообщения: 24
Зарегистрирован: 19.08.2016 11:26:38

Связанные записи в 2 DBGrid

Сообщение Slava1970 »

Здравствуйте.
Помогите разобраться. У меня база на MySql, помогите связать 2 грида, Master и Slave.
Нашел, что можно через DBTable, у меня источник данных в гриде TSQLQuery, там такого
как это решается в Lazarus? (
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

В dataSet у второй DBGrid устанавливаем свойства MasterSource=Таблица1 и Masterfield= поле, по которому идет связывание
Slava1970
новенький
Сообщения: 24
Зарегистрирован: 19.08.2016 11:26:38

Сообщение Slava1970 »

Спасибо за ответ. Но только не смог найти MasterSource.
У меня тут пишу как могу в DBGrid.DataSource.DataSet=DataModule.SQLQuery, а в квери нет MasterSource.
В нем только лукап получается как то привязать. Лукап тоже для меня оказался темной лошадкой, из за неясного появления таблиц.
Очередь запуска запросов неправильно задал, говорит, что ее нет.
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

У TDataset есть свойство, невменяемо названное "DataSource", вместо осмысленного "MasterSource", что и вводит новичков в заблуждение.
А в SQLDB это делается так http://wiki.freepascal.org/MasterDetail
Slava1970
новенький
Сообщения: 24
Зарегистрирован: 19.08.2016 11:26:38

Сообщение Slava1970 »

Спасибо v-t-l )
Добавлю, то как осмыслил.

Master Query.DataSource := None
Master DataSource.Dataset := Master Query
Master DBGrid.DataSource := Master DataSource
Detail Query.DataSource := Master DataSource
Detail DataSource.Dataset := Detail Query
Detail DBGrid.DataSource := Detail DataSource

Master Query.SQL Select id, name, tip from tovar

Detail Query.SQL Select id, name from tiptovara where id=:tip

Получается при изменении записи в Master меняется id товара и его тип. Соответственно в Detail
меняется переменная tip, так как она из Master, который привязали в DataSource.
Detail запрос обновляется уже по новому условию и ... новый тип товара на экране.
Zhanat
новенький
Сообщения: 21
Зарегистрирован: 06.09.2013 08:46:40

Сообщение Zhanat »

здравствуйте! Не стал создавать новую тему. У меня вот такая проблема: При удалении из главной таблицы не удаляются со второй таблицы. Как можно это исправить? Master Detail связь, использовал Lazarus 1.6, Zeos 7.2.1 rc, SQLite, Вот исходник http://rgho.st/6z7rWhLhg
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

http://ru.stackoverflow.com/questions/5 ... te-update-удаление-обновление-нескольких-таблиц-в-один-запрос
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Ответить