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

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

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

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

Сообщение Олег » 30.03.2013 02:07:13

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

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

Сообщение mig-31 » 30.03.2013 13:14:16

Добавить в USES название основного модуля и потом вызывать Form1.TMySQL50Connection и т.д.
mig-31
постоялец
 
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

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

Сообщение svk12 » 30.03.2013 14:02:02

Если БД одна, то есть смысл создать TDataModule, на который поместить TMySQL50Connection и TSQLTransaction, и прописать его в uses
всех форм, а на них положить TDatasource и SQLQuery.
svk12
постоялец
 
Сообщения: 409
Зарегистрирован: 09.06.2008 18:42:47

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

Сообщение Олег » 30.03.2013 20:30:02

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

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

Сообщение Padre_Mortius » 30.03.2013 22:51:58

связка таблиц делается через JOIN table2 ON table1.id1=table2.id2. JOIN бывают разные, соответственно необходимо уточнить что необходимо
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru