Подключение к MySQL из клиента Delphi XE7

Итак, поскольку один из моих любимых языков программирования – Delphi, я решил рассмотреть пример подключения из клиентского VCL приложения. Итак, что нам понадобится?

-Установленная программа-сервер MySQL на локальный компьютер;
-Созданная база данных на программе-сервере MySQL;
-IDE Delphi, у меня на момент написания была Delphi XE7;

В данной статье мы будем использовать технологию dbExpress – она относительно простая, но имеет один недостаток – не поддерживает двунаправленные курсоры. В частности, в моем случае это вылилось в отказ отображать данные в элементе DBGrid, когда я использовал для хранения данных элемент ClientDataSet. Эта проблема решилась, когда я вместо ClientDataSet использовал SimpleDataSet.

Подготовительная работа по подключению

Также нам понадобится провести подготовительную работу, а именно в Delphi указать через Data Explorer настройки нашего сервера и базы данных. Итак, жмем (View / Data Explorer)

Connecting2

Во всплывающем окне указываем имя подключения. Я сделал имя MyDataBaseConnection.

Далее, жмём Modify Connection

Connecting3

Далее, я заполнил всё следующим образом…

Connecting4

localhost потому что на локальном компьютере разместил ранее программу сервер MySQL, MyDataBase потому что создали ранее базу данных MyDataBase в программе MySQL WorkBench;

Пользователь, он же суперпользователь, у нас пока один root. Пароль этого пользователя masterkey

Тестируем соединение…

Connecting5

Основная работа по подключению

Итак, создадим VCL приложение (File New Vcl Forms…) и разместим на нём следующие компоненты

DBGrid для визуализации данных таблицы нашей базы данных;

SQLConnection – название говорит само за себя;

SimpleDataSet – для хранения наборов данных;

DataSource – для вспомогательных целей (показывать DBGrid что отображать…);

DBNavigator – для перемещения курсора по таблице и других вспомогательных целей;

Connecting1

После подключения можем настраивать компоненты – начнем с SQLConnection1, в объектном инспекторе, в свойстве ConnectionName видим следующую картину – видим в списке MyDataBaseConnection, который мы создавали ранее в Data Explorer. Выбираем созданное соединение. После выбора нужно установить свойство Connected в True (на рисунке этого не сделано).

Connecting6

Что касается Simple Data Connection – здесь будем указывать 2 параметра – Connection и DataSet, начнем с первого. В свойстве Connection ставим SQLConnection1

Connecting7

Раскрываем свойство DataSet, здесь нам нужно в CommandType указать ctTable, а в Command text выбрать из впадающего списка ашу таблицу, у нас она одна, students.

Свойство Active раздела DataSet нужно включить в True, а свойство Connected компонента SimpleDataSet1 также в True;

Connecting8

Компонент Data Source – указываем в свойстве DataSet – значение SimpleDataSet1

Connecting9

И, наконец, последний элемент DBGrid, то есть собственно “отображатель данных” – ставим в свойстве DataSource – DataSource1. И ура ! Наши данные появляются!!!

Connecting10

Но, как видно из таблицы DBGrid – у нас небольшая проблема с отображением. То есть, поле students слишком широкое. Чтобы поправить этот момент, делаем так (см. рисунок ниже)

Connecting11

Connecting12

Connecting13

Итак, настраиваем значение width, например выбрав 100 и получаем отличную таблицу, которая отображается прямо из базы данных программы-сервера MySQL.

Подключите также DBNavigator, указав для него DataSource – DataSource1. На этом пост завершен – в следующем посте – будем учиться работать с редактированием записей.

This entry was posted in Delphi, MySQL, Без рубрики, Начальный уровень. Bookmark the permalink.