- •341000, Мариуполь, пер. Республики,7 Утверждаю
- •С.В. Щербаков
- •Общие требования к выполнению и оформлению лабораторных работ
- •Лабораторная работа №1
- •Лабораторная работа № 2
- •2.1 Общие сведения
- •Лабораторная работа № 3
- •3.1 Общие сведения
- •4.1 Общие сведения
- •Лабораторная работа № 4 тема: специализированные списки drivelistbox, filelistbox, valuelisteditor. Расширенные возможности
- •Лабораторная работа № 5 тема: разработка элементов субд
- •Общие сведения
- •Основные команды языка sql
- •Задание
- •Требования к оформлению отчета
- •Контрольные вопросы
- •Лабораторная работа № 6
- •6.1 Общие сведения
- •6.3 Требования к оформлению отчета
- •Лабораторная работа № 7
- •7 Общие сведения
- •Создание дистрибутивов с помощью InstallShield Express
- •Лабораторная работа № 8
- •8.1 Общие сведения
- •Понятие компонента
- •Программирование компонента
- •Добавление родительских и новых свойств
- •Тестирование компонента
- •Инсталляция компонента
- •Задание
- •Перечень ссылок
Лабораторная работа № 5 тема: разработка элементов субд
цель: ИЗУЧЕНИЕ КОМПОНЕНТОВ ДОСТУПА И ПРЕДСТАВЛЕНИЯ ДАННЫХ В РАЗЛИЧНЫХ КОНФИГУРАЦИЯХ. Создание приложения для работы с модулем данных. Формирование запросов.
Общие сведения
Компонент TTable – связь с файлом фактической таблицы данных посредством механизма BDE.
Свойства компонента:
Active=true(false) – включение (выключение) режима просмотра на этапе проектирования;
DatabaseName – псевдоним базы данных или путь к ее каталогу;
TableName – имя таблицы в адресуемой БД;
Filter – критерий фильтрации полей;
Exclusive=false(true) – запрет (разрешение) доступа других приложений к таблице БД;
ReadOnly=false(true) – разрешение (запрет) записи данных;
MasterSourse, MasterFields – организация связи таблиц «главная - подчиненная».
Компонент TDataSourse – организация интерфейса между таблицей (запросом) и визуальным компонентом представления.
Свойства компонента:
AutoEdit – включение (выключение) режима редактирования записей;
Name – название компонентного источника;
События:
OnDataChange – управляемый поиск по набору данных;
OnUpdateData – проверка введенных значений;
OnStateChange – возникает при изменении свойства State;
Пример работы с компонентом TDataSourse:
…if (DataSourse1->DataSet= =CustomerTable)
DataSourse1->DataSet=OrderTable;
else
DataSourse1->DataSet=CustomerTable;
void_fastcall TForm2::FormCreate (Tobject *Sender)
{
DataSourse1->DataSet=Form1->Table1
}
Компонент TQuery – доступ к данным таблиц с адресацией подмножества записей (формирование SQL – запроса).
Свойства компонента:
Active – разрешение (запрет) режима просмотра «живых данных» на стадии проектирования запроса;
DataBaseName – псевдоним базы данных;
DataSourse – источник таблицы, из которой выбираются значения текущего поля;
RequestLive – включение (выключение) редактирования результирующего набора данных.
Основные команды языка sql
SQL – текст команды запроса;
SELECT – выбор данных из таблицы;
INSERT – добавление записи;
UPDATE – модификация записи;
DELETE – удаление записи;
SELECT FROM * имя базы данных WHERE имя поля [критерий отбора]
Пример произвольного динамического запроса:
void_fastcall TForm1::Button1Click(Tobject *Sender)
{
if (Memo1->Text!=””)
{
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(Memo1->Text);
}
try
{
Query1->Open();
}
catch (EDBEngineError *dbError)
{
for (int i=0; i<=dbError->ErrorCount; i++)
MessageBox (NULL, dbError[i].Message.c_str(), “SQL Error!”, MB_OK);
}
}
Пример запроса с сортировкой:
void_fastcall TForm2::DBGrid1TitleClick(TColumn *Column)
{
if (Query2->Active)
{
Query2->DisableControls();
}
try
{
Query2->Close();
Query2->SQL->Clear();
String fld=Column->FieldName;
Query2->SQL->Add (“SELECT * FROM Employee ORDER BY”+fld);
Query2->Open ();
}
_finally
{
Query2->EnableControls ();
}
}
Задание
С использованием утилиты Database Desktop создать произвольный файл базы данных с количеством полей не менее 5 и количеством записей не менее 20. Типы полей выбрать самостоятельно. Организовать доступ к данным таблицы из окна приложения (компоненты TDataSourse, TTable). Создать один или несколько динамических SQL-запросов (компонент TQuery).
