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

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

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

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

Сообщение Slava1970 » 19.08.2016 14:52:35

Здравствуйте.
Помогите разобраться. У меня база на MySql, помогите связать 2 грида, Master и Slave.
Нашел, что можно через DBTable, у меня источник данных в гриде TSQLQuery, там такого
как это решается в Lazarus? (
Slava1970
новенький
 
Сообщения: 24
Зарегистрирован: 19.08.2016 12:26:38

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

Сообщение Снег Север » 19.08.2016 16:05:06

В dataSet у второй DBGrid устанавливаем свойства MasterSource=Таблица1 и Masterfield= поле, по которому идет связывание
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2996
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение Slava1970 » 23.08.2016 15:32:30

Спасибо за ответ. Но только не смог найти MasterSource.
У меня тут пишу как могу в DBGrid.DataSource.DataSet=DataModule.SQLQuery, а в квери нет MasterSource.
В нем только лукап получается как то привязать. Лукап тоже для меня оказался темной лошадкой, из за неясного появления таблиц.
Очередь запуска запросов неправильно задал, говорит, что ее нет.
Slava1970
новенький
 
Сообщения: 24
Зарегистрирован: 19.08.2016 12:26:38

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

Сообщение v-t-l » 23.08.2016 16:46:33

У TDataset есть свойство, невменяемо названное "DataSource", вместо осмысленного "MasterSource", что и вводит новичков в заблуждение.
А в SQLDB это делается так http://wiki.freepascal.org/MasterDetail
v-t-l
энтузиаст
 
Сообщения: 728
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

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

Сообщение Slava1970 » 24.08.2016 11:56:59

Спасибо 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 запрос обновляется уже по новому условию и ... новый тип товара на экране.
Slava1970
новенький
 
Сообщения: 24
Зарегистрирован: 19.08.2016 12:26:38

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

Сообщение Zhanat » 23.09.2016 10:33:18

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

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

Сообщение Снег Север » 23.09.2016 11:57:45

http://ru.stackoverflow.com/questions/5 ... te-update-удаление-обновление-нескольких-таблиц-в-один-запрос
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2996
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение v-t-l » 23.09.2016 20:28:05

v-t-l
энтузиаст
 
Сообщения: 728
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79

Рейтинг@Mail.ru