Delphi XE7. DBExpress. Как подключиться к БД (MySQL)?

В данном посте рассмотрим виды соединения с БД по технологии DBExpress. Технология с особенностью – однонаправленные курсоры (данные читаются только в одну сторону, в результате невозможно отобразить DBGrid, например. Но этот недостаток нивелируется кэширующими компонентами – ClientDataSet и SimpleDataSet…) Будем подключаться к серверу MySQL и одноименной базе данных MySQL Ранее уже кое-что употреблял в постах, но сейчас хочу вывести виды соединений в отдельный пост.

Как подключиться к БД по технологии DBExpress?

Итак, если систематизировать информацию, то возможные варианты подключения к БД могли бы выглядеть таким образом…

1

Рис. 1 Варианты подключения по технологии DBExpress

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

На рисунке выше я привожу 2 примера подключения, которые у меня успешно получились. Итак, для начала рассмотрим вариант c относительно простой комбинацией компонентов:

-SQLConnection;

-SimpleDataSet;

-DataSource;

-DBGrid или другие DataControls;

Синим цветом на рисунке отображены те поля и свойства, которые нужно заполнить, чтобы подключиться.Подробно эту схему я рассматривал в другом посте. Поэтому, здесь лишь даю ссылку.

Продвинутый вариант подключения

Под продвинутым вариантом подключения я понимаю ту схему, которая идет по нижней ветви на рисунке выше. Преимущество как минимум в том, что за счет наличия компонента ClientDataSet, можно использовать агрегатные поля, если это необходимо.

-SQLConnection;

-SQLDataSet;

-DataSetProvider;

-ClientDataSet;

-DataSource;

-DBGrid или другие DataControls;

Вот как это может выглядеть в Delphi… (результат подключения);

2

 

В чем преимущества данного подключения? Я ещё не исследовал вопрос до конца, но одно из преимуществ – возможность отображать агрегатные поля.

Теперь по шагам…

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

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

Connecting2

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

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

Connecting3

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

Connecting4

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

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

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

Connecting5

 

Основная работа по подключению (продвинутый вариант)

У SQLConnection настраиваем ConnectionName. Выбираем необходимое из списка. Либо, можно прописать всё программно.

3

 

Если программно, то можно вот так…

 

Далее, настраиваем компонент SQLDataSet – выбираем соединение, тип команды и саму команду.

4

 

 

Далее, настраиваем DataSetProvider, выбирая свойство DataSet

5

 

Далее, ClientDataSet, настраивая свойство DataSetProvider…

6

 

 

Далее, компонент DataSource, и его свойство DataSet…

7

 

И последнее, DBGrid, на вкладке Events, свойство DataSource…

8

 

Можно также, для удобства подключить DBNavigator…

9

by Stanislav_Panteleev

Добавить комментарий