Здравствуйте.
Помогите разобраться. У меня база на MySql, помогите связать 2 грида, Master и Slave.
Нашел, что можно через DBTable, у меня источник данных в гриде TSQLQuery, там такого
как это решается в Lazarus? (
Связанные записи в 2 DBGrid
Модератор: Модераторы
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
В dataSet у второй DBGrid устанавливаем свойства MasterSource=Таблица1 и Masterfield= поле, по которому идет связывание
Спасибо за ответ. Но только не смог найти MasterSource.
У меня тут пишу как могу в DBGrid.DataSource.DataSet=DataModule.SQLQuery, а в квери нет MasterSource.
В нем только лукап получается как то привязать. Лукап тоже для меня оказался темной лошадкой, из за неясного появления таблиц.
Очередь запуска запросов неправильно задал, говорит, что ее нет.
У меня тут пишу как могу в DBGrid.DataSource.DataSet=DataModule.SQLQuery, а в квери нет MasterSource.
В нем только лукап получается как то привязать. Лукап тоже для меня оказался темной лошадкой, из за неясного появления таблиц.
Очередь запуска запросов неправильно задал, говорит, что ее нет.
У TDataset есть свойство, невменяемо названное "DataSource", вместо осмысленного "MasterSource", что и вводит новичков в заблуждение.
А в SQLDB это делается так http://wiki.freepascal.org/MasterDetail
А в SQLDB это делается так http://wiki.freepascal.org/MasterDetail
Спасибо 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 запрос обновляется уже по новому условию и ... новый тип товара на экране.
Добавлю, то как осмыслил.
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 запрос обновляется уже по новому условию и ... новый тип товара на экране.
здравствуйте! Не стал создавать новую тему. У меня вот такая проблема: При удалении из главной таблицы не удаляются со второй таблицы. Как можно это исправить? 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-удаление-обновление-нескольких-таблиц-в-один-запрос
