Проект с несколькими формами (Lazarus+MySQL)

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

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

Ответить
Олег
незнакомец
Сообщения: 5
Зарегистрирован: 30.03.2013 01:45:33

Проект с несколькими формами (Lazarus+MySQL)

Сообщение Олег »

Здравствуйте! Начал изучать Lazarus, появился вопрос один. В поиcке не нашел.
На основной форме разместил компоненты TMySQL50Connection, TSQLTransaction, TDatasource, SQLQuery . Все работает, к базе подключается и запросом выводится в Grid содержимое одной таблицы.
Потом сделал вторую форму, надо вывести содержимое второй таблицы. Собственно вопрос: компоненты TMySQL50Connection, TSQLTransaction, TDatasource, SQLQuery должны быть размещены только в основной форме (как в этом случае работать из второй формы?)? или у каждой формы свои должны быть?
Последний раз редактировалось Олег 30.03.2013 16:31:29, всего редактировалось 1 раз.
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

Добавить в USES название основного модуля и потом вызывать Form1.TMySQL50Connection и т.д.
svk12
постоялец
Сообщения: 411
Зарегистрирован: 09.06.2008 18:42:47

Сообщение svk12 »

Если БД одна, то есть смысл создать TDataModule, на который поместить TMySQL50Connection и TSQLTransaction, и прописать его в uses
всех форм, а на них положить TDatasource и SQLQuery.
Олег
незнакомец
Сообщения: 5
Зарегистрирован: 30.03.2013 01:45:33

Сообщение Олег »

Спасибо) Сделал с DataModule, все получилось.
Чтобы не создавать тему новую, еще вопрос небольшой: если в БД есть две связанные таблицы, то мы в запросе связываем по внешнему ключу их (пишем в условии WHERE table1.id1 = table2.id2), получаем выборку, и на форме в таблице она отобразится, если компоненты настроены. Я правильно понимаю?
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

связка таблиц делается через JOIN table2 ON table1.id1=table2.id2. JOIN бывают разные, соответственно необходимо уточнить что необходимо
Ответить