- •Работа с сервером MySql при помощи терминального клиента mysql.Exe
- •Введение
- •Подсоединение к серверу и отсоединение от него
- •Создание пользователейMySqLи назначение прав доступа
- •Использованиеmysqlв пакетном режиме
- •Выполнение запросов
- •Создание и выбор базы данных
- •Работа с таблицами Типы данных столбцов
- •Просмотр существующих таблиц
- •Создание таблицы
- •Просмотр структуры таблицы
- •Модификация структуры таблицы
- •Переименование таблицы
- •Добавление данных в таблицу
- •Обновление (модификация) данных в таблице
- •Удаление строк в таблице
- •Удаление таблицы
- •Определение ключей в бд Определение первичных ключей
- •Определение внешних ключей
- •Задание на лабораторную работу
- •Содержание отчета
- •Работа с сервером MySql при помощи клиента dbForge Studio for MySql
- •Введение
- •Создание соединения и подключение к серверу бд
- •Создание и редактирование таблиц
- •Определение внешних ключей
- •Просмотр и редактирование данных
- •Построение диаграммы бд
- •Экспорт схемы и данных
- •Экспорт схемы и данных вDbForge Studio for MySql версии 4.5
- •Задание на лабораторную работу
- •Содержание отчета
- •Разработка хранимых процедур и функций на сервереMySql
- •Введение
- •Создание, запуск и удаление простой процедуры
- •Создание, запуск и удаление простой функции
- •Простые и системные переменные
- •Параметры процедур и функций
- •Операторы управления ходом выполнения программы
- •Курсоры
- •Задание на лабораторную работу
- •Содержание отчета
- •Исключения и триггеры
- •Исключения
- •ОператорSignal
- •Триггеры
- •Задание на лабораторную работу
- •Содержание отчета
- •Технологии программного доступа к данным
- •КомпонентыActiveX Data Objects
- •Создание главной формы приложения для работы с бд. Соединение с базой данных
- •Создание простой формы с использованием компонентаDataGrid(форма «Детали»)
- •Использование компонентовDbEdit, иDbLookupComboBox. Программный доступ к свойствам и методам компонентаAdoDataSet(форма «Поставщики»)
- •Реализация поиска и фильтрации в базе. Программный доступ к элементам набора данных (форма «Проекты)
- •Сортировка строк в компонентеDbGrid
- •Создание форм с выбором режима просмотра или редактирования. Работа с датой и временем (форма «Поставки»)
- •Работа с изображениями в бд
- •Имитация выпадающего списка в ячейке dbGrid
- •Вызов хранимой процедуры
- •Создание отчетов
- •Задание на лабораторную работу
- •Издания и публикации
- •Разработкаweb-приложений дляMySqLна языкеPhp
- •Установка и настройкаDenver
- •Соединение с бд и вывод данных
- •Задание на лабораторную работу
Создание простой формы с использованием компонентаDataGrid(форма «Детали»)
Для создания простой формы доступа к данным одной таблицы необходимо создать новую форму (Form2), определить для свойстваCaptionзначение «Детали» и поместить на форму компонентыADODataSet,DataSource,DBGrid,DBNavigator:
Для связи компонента ADODataSet1 с компонентомADOConnection1необходимо в модуль формыUnit2.cppдобавить директиву для включения заголовочного файла главной формы:
В инспекторе объектов для ADODataSet1в поле свойстваConnectionуказать Form1->ADOConnection1, в поле свойстваCommandTextввести текстSQL-команды для выбора всех записей из таблицы «Детали»select * from parts, присвоить свойству Active значениеTrue:
В инспекторе объектов для DataSource1 в поле свойстваDataSetвыбратьADODataSet1:
В инспекторе объектов для DBNavigator1 и DataGrid1 в поле свойстваDataSourceвыбратьDataSource1:
После этого в компоненте DBGrid1в режиме разработки должны появиться данные из таблицыParts:
Для того чтобы какая-либо форма «Детали» отображалась при выборе пункта меню «Детали» необходимо в модуль главной формы добавить директиву для включения заголовочного файла формы #include "Unit2.h", в главной форме в режиме разработки выбрать соответствующий пункт меню и создать обработчик следующего вида:
void __fastcall TMain::N1Click(TObject *Sender)
{
Form2->Show();
}
После запуска приложения после выбора пункта меню «Детали» будет открыта форма Form2. В ней при помощи компонентаDBNavigatorможно перемещать курсор по записям набора данных вперед и назад, вставлять и удалять строки, отменять и фиксировать изменения:
Использование компонентовDbEdit, иDbLookupComboBox. Программный доступ к свойствам и методам компонентаAdoDataSet(форма «Поставщики»)
Для отображения и редактирования данных можно использовать компоненты DBEdit,DBLookupListBoxиDBLookupComboBox, которые находятся на вкладкеDataControls. Так можно разработать форму, в которой элементы данных будут отображаться не в виде таблицы (DataGrid), а будут размещены произвольным удобным пользователю образом. Кроме того, стандартный элемент управленияDBNavigatorтак же не всегда удобен для пользователя, при этом нет возможности изменения внешнего вида кнопок.
Создайте новую форму (Form3), задайте значение свойстваCaptionкак «Поставщики» и поместите на нее компонентыADODataSet,DataSource, задайте свойства компонентов аналогично предыдущей форме. При этом необходимо в модуль формыUnit3.cppдобавить директиву для включения заголовочного файла главной формы.
Значение свойства CommandTextкомпонентаADODataSet1 необходимо определить какselect * from providers.
Поместите на форму компоненты Label(вкладкаStandard) иDBEdit(вкладкаDataControls) и кнопкиButtonкак показано на рисунке:
Свяжите компоненты DBEditс полями набора данныхADODataSet1, задав для них свойстваDataSourceиDataField:
Для реализации механизма навигации по базе создайте обработчики для кнопок:
void __fastcall TForm3::Button1Click(TObject *Sender)
{
ADODataSet1->Prior(); // Переход к следующей записи
}
//--------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
ADODataSet1->Next(); // Переход к предыдущей записи
}
//--------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
ADODataSet1->Post(); // Сохранение изменений
}
//--------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
ADODataSet1->Insert(); // Вставка новой записи
}
//--------------------------------------------------------------
Свяжите форму со вторым пунктом системного меню главной формы. Проверьте работу формы в режимах просмотра, редактирования и добавления данных:
Очевидным недостатком данной формы является недостаточная «дружелюбность» интерфейса. Так, например, в поле «Город поставщика» было бы актуально отображать не номер города, а его имя (из таблицы «Города»), а при редактировании поля предлагать пользователю выбор из имеющихся в таблице «Города» названий городов.
Для решения данной задачи можно воспользоваться компонентом DBLookupComboBox. Данный компонент может быть связан одновременно с двумя источниками данных, один из которых является «основным», а второй содержит значения элемента выпадающего списка.
Поместите на форму еще один компонент ADODataSetиDataSource. Для компонента ADODataSet2 задайте свойство Connection, свойство CommandText (select * from towns), Active (True). Для компонента DataSource2 задайте свойство DataSet (ADODataSet2).
Поместите на форму компонент DBLookupComboBox вместо DBEdit3. Задайте для него следующие свойства:
Свойство |
Значение |
DataSource |
DataSource1 |
DataField |
Town_ID |
ListSource |
DataSource2 |
ListField |
Town |
KeyField |
Town_ID |
Проверьте работу формы. Теперь вместо номеров городов пользователь оперирует именами городов, что повышает удобство работы и не требует от пользователя знания номеров городов.