Подключение к MS SQL server с помощью Delphi

Даже системному администратору иногда необходимо просмотреть содержимое БД не стандартными средствами, как это реализовать мы и разберем далее.

Дата: 15.03.2010 г.

Рейтинг: 0

Метки: MS SQL, Delphi, ADO

Пошаговая инструкция:
Для начала, что я имел ввиду говоря о стандартных средствах? Я говорил о Microsoft SQL Server Management Studio Express (Скачать), хороший инструмент для системного администратора, но если пользователь необходимо всего лишь смотреть небольшой список данных, без манипуляций с данными или с минимальными манипуляциями. Или же вы просто пробуете свои способности в разработке ПО работающего с БД.

Думаю лучше будет объяснить виде задачи.
Дано:
• Сервер MS SQL с созданной БД и Таблицами в ней
• Delphi 2010
Задание:
Создать приложение, которое будет подключаться к БД и отображать содержимое одной из таблиц.
Решение:
Создаем новый проект

Подключение к MS SQL server с помощью Delphi


Получаем такой вид:

Подключение к MS SQL server с помощью Delphi


Теперь добавляем необходимые компоненты.
[hide]
Может кто не знает, все компоненты в Delphi находятся на вкладках, поэтому описание будет в формате «Вкладка – Имя компонента». Поехали:
dbGo -> ADOConnect
dbGo -> Table
DataControl->TDBGrid
DataAccess->DataSource
Так это будет выглядеть на форме:

Подключение к MS SQL server с помощью Delphi


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

Подключение к MS SQL server с помощью Delphi


После выяснение структуры думаю будет проще понять что мы настраиваем и зачем. Начнем мы конечно же с ADOConnect1, в нем нас интересует параметр ConnectionString . Этот параметр для подключения должен содержать строку содержащее что-то подобное:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=имя_пользователя;Initial Catalog=AmD_Dilo;Data Source=SERVER\\Имя_базы_данных
Но с первого раза заполнить это вручную не у всех получиться поэтому можно воспользоваться «мастером» нажав на кнопочку с 3-мя точками.

Подключение к MS SQL server с помощью Delphi


После чего появиться следующее окошко «мастера», для построения подключения необходимо нажать «Build».

Подключение к MS SQL server с помощью Delphi


Появится окно «Свойства связи с данными», на вкладке «Поставщик данных» выбираем из списка «Microsoft OLE DB Provider for SQL server», нажав кнопку «Далее» переходим на следующую вкладку «Подключение». На вкладке «Подключение» заполняем поля соответствующем образом.

Подключение к MS SQL server с помощью Delphi


Теперь настраиваем в ADOTable1 параметр Connection, просто выбирая из списка компонент ADOConnect1. Также хочу обратить ваше внимание на параметр ConnectionString в ADOTable1, он является идентичным ADOConnect1.ConnectionString.

Подключение к MS SQL server с помощью Delphi


Теперь проблем подключиться к БД, просто отметить галочкой параметр Connected. При подключении у вас запросит пароль и логин, если вы логинитесь с своим аккаунтом.

Подключение к MS SQL server с помощью Delphi


Следующим шагом будет настройка в ADOTable1 самой каверзной вещи, т.к. если не указать имя таблицы ни в design-time, ни в run-time будет ошибка. Итак если вы правильно настроили ADOConnect1 или ADOTable1.ConnectionString и в БД уже созданы таблицы, список таблиц должен отображаться подобным образом:

Подключение к MS SQL server с помощью Delphi


Таблица выбрана и теперь осталось только подключиться, мы просто активируем параметр Active в ADOTable1

Подключение к MS SQL server с помощью Delphi


Теперь осталось дело за малым, настроить DataSource1 и DBGrid1. В DataSource1 параметр DataSet назначить ADOTable1, а DBGrid1 параметр DataSource назначаем DataSource1.

Подключение к MS SQL server с помощью Delphi


В итоге мы получаем :

Подключение к MS SQL server с помощью Delphi


Напоследок немного о фильтрах:
В ADOTable1 есть параметр filter с помощью него мы и выбираем только те данные которые нас интересуют. Значения фильтра это вообще отдельная глубокая тема и её лучше рассматривать отдельно, но все же самый простой пример я приведу:
Имя_столбца LIKE шаблон

Вот рабочий шаблон:
duration LIKE 6

[/hide]
Подключение к MS SQL server с помощью Delphi


После задания фильтра необходимо отметить параметр ниже Filtered.


Удачных проб, с уважением Сургай Владимир.



Похожие статьи: