Проблема: Нужно настроить подключение к базе данных MySQL с Delphi.
Инструментарий: Delphi 2010, Компоненты ZEOSDBO — 7.0.0 — alpha
Решение:
Все намного проще чем многие думают. Для подключения к базе данных (БД) MySQL я буду использовать компоненты ZEOS. Недавно я описывал как установить компоненты ZEOS в Delphi 2010.
При написании и создании проекта я использовал Delphi 2010. Думаю если вы используете другую версии Delphi — ничего страшного (разве что компоненты не поддерживаются вашей версией).
Перед тем как приступать что то делать я первоначально создал БД, таблицу и заполнил таблицу произвольными данными. Все это проделал с помощью альтернативного редактора, их сейчас хватает.
Так вот, после того как компоненты установлены у нас на палитре инструментов должна появится панель из названием Zeos Access (Рис. 1.)
Запустим Delphi. Создадим новый проект File → New → VCL Forms Application — Delphi (Рис. 2.)
Из палитры компонентов перемещаем на форму компоненты (Рис.3.)
- zConnection — для непосредственного подключения к БД (закладка Zeos Access)
- zQuery или zTable — для выборки данных с БД (закладка Zeos Access)
- DataSource — для связывания компонента выборки (zQuery или zTable) и отображения (DBGrid) данных (закладка Data Access)
- DBGrid — компонент отображения данных (закладка Data Controls)
Теперь нам надо настроить подключение к БД. Для этого выбираем компонент zConnection1, и в его свойствах (в Oblect Inspector) устанавливаем следующие настройки (Рис. 4):
- HostName — компютер (IP адрес) к которому будем подключаться (Например: 192.168.0.1 или 127.0.0.1)
- Database — название БД, к которой мы будем подключаться (Например: TestDB)
- Port — порт, под которым мы подключаемся к MySQL.
- Protocol — протокол по которому мы будем подключаться к БД. В руководстве по установке (URL) есть пункт по копированию mysql.dll в пупку system32 (кстати можно разместить данный файл и в директории проекта, по крайней мере у меня работало). (Я устанавливал: mysql5 потому что у меня установлен MySQL v5 )
- UserPassword — пароль для подключения к MySQL
- UserName — имя для подключения к MySQL
- Connection — Данное свойство определяет подключены мы к БД или нет. Устанавливаем его в true. Если все настроено корректно — тогда у нас небудет никаких сообщений об ошибке.
Дальше мы подключим zQuery1/zTable1 к zConnection1. Для этого выбираем zQuery1/zTable1 и зададим следующие свойства в Object Inspector:
- Connection — выбираем компонент zConnection
Далее у нас есть два пути, в зависимости каком компонент мы разместили на форме zQuery или zTable.
Для zQuery1 нужно написать SQL запрос для выборки необходимых данных (это в моем случае — выборки данных, в вашем может быть добавление или обновление данных)
- SQL — сюда мы пишем SQL запрос (Например: select * from [название таблицы];)
- Active — для активации устанавливаем true. (если ошибок в написании запроса нет — ничего не произойдет,если есть — отобразится ошибка)
Для zTable1 нам нужно выбрать таблицу, с которой будут браться данные, для этого в Object Inspector есть поля (Рис 5.):
- TableName — в нем будет хранится список таблиц к которым мы можем обращаться (только в том случае, если у нас настроено подключение zConnection), выбирем нужную таблицу (она предварительно должна быть созданной).
- Active — для активации устанавливаем true.
Дальше мы выбираем DataSource1 и в свойствах устанавливаем (Рис.6):
- DataSet — выбираем из выпадающего списка zTable1/zQuery1
Дальше делаем связку DBGrid с DataSource, выбираем DBGrid1 и устанавливаем следующие свойства в Object Inspector (Рис.7):
- DataSource — выбираем с выпадающего списка наш DataSource1
После выбора у нас в компоненте DBGrid должна отобразится информация с БД. (Рис. 8) Что свидетельствует о подключении и правильной работе.
PS: Вот мы и научились подключаться к БД MySQL с помощью Delphi
Есть же от производителя, так сказать.
MySQL Connector ODB Driver
https://dev.mysql.com/downloads/connector/odbc/
Да, но если я не ошибаюсь, данный драйвер нужно будет устанавливать на каждой машине где должна работать программа