Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab3.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
930.82 Кб
Скачать

Лабораторная работа № 3

Тема: Создание в программе C++Builder клиентского приложения по технологии dbExpress для клиент-серверной СУБД MySQL.

Цель: Получить практические навыки работы c базами данных в среде для быстрой разработки приложений на C++.

Теоретические сведения

Технология dbExpress. В основе технологии dbExpress лежит использование множества драйверов, компонентов, объединяющих соединения, транзакций, запросов и наборов данных, а так же интерфейсов, реализующих универсальный доступ к соответствующим функциям.

При ее использовании для доступа к данным используются SQL-запросы. Обладая легкой переносимостью, приложения нормально работают под управлением как Windows так и Linux. Для использования этой технологии достаточно подключить к приложению динамически подключаемою библиотеку с драйвером, взаимодействующим с клиентским программным обеспечением для нужного сервера базы данных, в частности, для MySQL (рис. _1). Библиотека libmysql.dll должна находиться либо в папке WINDOWS\System32, либо в папке с клиентским приложением.

Рис. _1. Схема доступа к данным с помощью dbExpress

По сравнению с использованием механизма BDE технология dbExpress обеспечивает построение более легковесных (по объему кода) приложений для работы с базами данных. К недостаткам технологии dbExpress можно отнести то, что она не поддерживает концепцию открытых таблиц и не содержит встроенную поддержку обновления данных, кроме способности выполнения запросов INSERT, DELETE и UPDATE.

Порядок выполнения

Часть 1 – Создание соединения с сервером бд, размещение компонентов доступа к данным (набора данных), компонентов источников данных

  1. Запустить сервер MySQL 5.0.

  2. Проверить наличие личной базы данных в папке data на сервере.

  3. Подключиться к серверу базы данных и просмотреть наличие пользователей и их доступов к личной базе данных студента.

  4. Проверить наличие библиотеки libmysql.dll в папке WINDOWS\System32 (при необходимости скопировать из папки MYSQL\BIN на сервере).

  5. Запустить программную среду C++Builder.

  6. Создать новый проект VCL Form Application – C++Builder.

  7. Вывести для удобства работы на экран Object Inspector и Tool Palett (пункт меню View).

  8. Добавить в проект модуль данных (File New Other… или New Items).

Рис. 1. Окно добавления в проект модуля данных

  1. Расположить на модуле данных с Палитры компонентов dbExpress и DataAccess необходимые компоненты: для установки соединения с сервером (компонент SQLConnection), для доступа к данным (набор данных) (компонент SimpleDataSet), источники данных (компонент DataSourse) и переименовать их согласно с названиями таблиц личной базы данных студента (свойство name в Object Inspector).

ЗАМЕЧАНИЕ: Набор данных представляет собой совокупность записей, взятых из одной или нескольких таблиц БД. Компонент SimpleDataSet предназначен для редактирования набора данных (получения данных, их кэширования и отправления измененных данных на сервер). Компонент использует двунаправленный курсор и позволяет редактировать данные в режиме редактирования, исправляя основные недостатки технологии dbExpress.

И сточник данных (компонент DataSourse) используется как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет этим набором данных. Для указания набора данных, с которым связан источник данных, служит свойство DataSet последнего. Визуальные компоненты связаны с источником данных через свои свойства DataSourse.

Рис. 2. Пример – БД Страхование

  1. Задать параметры подключения к серверу баз данных, выбрав предварительно следующие свойства компонента SQLConnection: выбрать драйвер СУБД, ввести имя базы данных согласно варианта, имя сервера (например, указать локальный сервер), имя пользователя и пароль, отображение букв русского алфавита (рис. 3).

ЗАМЕЧАНИЕ:

C помощью свойства LoginPromt типа bool выполняется задание необъодимости (true) или ненужности (false) отображения окна авторизации для ввода имени пользователя () и пароля при каждой попытке соединения с сервером. В последнем случае эти значения будут браться из файла dbxconnections.ini.

Для версии программы 2007 для задания настроек следует выбрать свойство Params и в появившемся окне ввести нужные данные. Строку с заданием отображения русских букв следует добавить самостоятельно.

Рис. 3. Настройки компонента SQLConnection

  1. Подключиться к серверу баз данных, установив свойство Connected в truе.

ЗАМЕЧАНИЕ: если появляется сообщение об ошибке нахождения библиотеки libmysql.dll, то, возможно, не скопирован файл libmysql.dll из папки с сервером в папку C:\WINDOWS\SYSTEM32. Возможно, версия библиотеки не соответствует версии среды программирования – необходимо подобрать файл библиотеки. Также может быть не запущен сервер, или не создан указанный пользователь.

  1. Компонентам SimpleDataSet выбрать в свойстве Connection созданное соединение. Включить активность компонентов SimpleDataSet (свойство Active).

  2. Выбрать для компонентов SimpleDataSet типы команд и в зависимости от выбранного типа (таблица, запрос или хранимая процедура) в свойстве CommandText выбрать нужную таблицу, хранимую процедуру или создать запрос на вывод записей из соответствующих таблиц, воспользовавшись диалоговым окном.

ЗАМЕЧАНИЕ: Если в свойстве CommandText не отображаются имена существующих таблиц или хранимых процедур, или не отображаются имена таблиц для формирования запроса, то следует проверить предыдущие настройки.

Рис. 4. Формирование запроса для таблицы Filials

  1. Компоненты DataSource связать с компонентами SimpleDataSet, выбрав соответствующие значения в свойстве DataSet, а также включить активность (Рис. 5).

Рис. 5. Настройка компонента на таблицу Filials

  1. Переименовать модуль данных, например, задав имя DM (свойство name в ObjectInspector).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]