Здравствуйте! Начал изучать Lazarus, появился вопрос один. В поиcке не нашел.
На основной форме разместил компоненты TMySQL50Connection, TSQLTransaction, TDatasource, SQLQuery . Все работает, к базе подключается и запросом выводится в Grid содержимое одной таблицы.
Потом сделал вторую форму, надо вывести содержимое второй таблицы. Собственно вопрос: компоненты TMySQL50Connection, TSQLTransaction, TDatasource, SQLQuery должны быть размещены только в основной форме (как в этом случае работать из второй формы?)? или у каждой формы свои должны быть?
Проект с несколькими формами (Lazarus+MySQL)
Модератор: Модераторы
Проект с несколькими формами (Lazarus+MySQL)
Последний раз редактировалось Олег 30.03.2013 16:31:29, всего редактировалось 1 раз.
Добавить в USES название основного модуля и потом вызывать Form1.TMySQL50Connection и т.д.
Если БД одна, то есть смысл создать TDataModule, на который поместить TMySQL50Connection и TSQLTransaction, и прописать его в uses
всех форм, а на них положить TDatasource и SQLQuery.
всех форм, а на них положить TDatasource и SQLQuery.
Спасибо) Сделал с DataModule, все получилось.
Чтобы не создавать тему новую, еще вопрос небольшой: если в БД есть две связанные таблицы, то мы в запросе связываем по внешнему ключу их (пишем в условии WHERE table1.id1 = table2.id2), получаем выборку, и на форме в таблице она отобразится, если компоненты настроены. Я правильно понимаю?
Чтобы не создавать тему новую, еще вопрос небольшой: если в БД есть две связанные таблицы, то мы в запросе связываем по внешнему ключу их (пишем в условии WHERE table1.id1 = table2.id2), получаем выборку, и на форме в таблице она отобразится, если компоненты настроены. Я правильно понимаю?
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
связка таблиц делается через JOIN table2 ON table1.id1=table2.id2. JOIN бывают разные, соответственно необходимо уточнить что необходимо
