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

Лабораторная работа № 5 тема: разработка элементов субд

цель: ИЗУЧЕНИЕ КОМПОНЕНТОВ ДОСТУПА И ПРЕДСТАВЛЕНИЯ ДАННЫХ В РАЗЛИЧНЫХ КОНФИГУРАЦИЯХ. Создание приложения для работы с модулем данных. Формирование запросов.

    1. Общие сведения

      1. Компонент TTable – связь с файлом фактической таблицы данных посредством механизма BDE.

Свойства компонента:

Active=true(false) – включение (выключение) режима просмотра на этапе проектирования;

DatabaseName – псевдоним базы данных или путь к ее каталогу;

TableName – имя таблицы в адресуемой БД;

Filter – критерий фильтрации полей;

Exclusive=false(true) – запрет (разрешение) доступа других приложений к таблице БД;

ReadOnly=false(true) – разрешение (запрет) записи данных;

MasterSourse, MasterFields – организация связи таблиц «главная - подчиненная».

  1. Компонент 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

}

  1. Компонент TQuery – доступ к данным таблиц с адресацией подмножества записей (формирование SQL – запроса).

Свойства компонента:

Active – разрешение (запрет) режима просмотра «живых данных» на стадии проектирования запроса;

DataBaseName – псевдоним базы данных;

DataSourse – источник таблицы, из которой выбираются значения текущего поля;

RequestLive – включение (выключение) редактирования результирующего набора данных.

  1. Основные команды языка 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 ();

}

}

    1. Задание

С использованием утилиты Database Desktop создать произвольный файл базы данных с количеством полей не менее 5 и количеством записей не менее 20. Типы полей выбрать самостоятельно. Организовать доступ к данным таблицы из окна приложения (компоненты TDataSourse, TTable). Создать один или несколько динамических SQL-запросов (компонент TQuery).