Свойство AllowStreamedConnected (значение по умолчанию - true), определяет, что соединение автоматически будет устанавливаться, не зависимо от свойства Connected, при выполнении любого запроса к данным или БД.
Свойство IdleTimer определяет интервал ожидания перед автоматическим завершением соединения.
10.9 Наборы данных
.
Компоненты распространенных технологий:
BDE | InterBaseExpress | dbExpress | ADO |
TBDEDataSet TDBDataSet TTable TQuery TStoredProc | TIBCustomDataSet TIBDataSet TIBTable TIBQuery TIBStoredProc | TCustomSQLDataSet TSQLDataSet TSQLTable TSQLQuery TSQLStoredProc | TCustomADODataSet TADODataSet TADOTable TADOQuery TADOStoredProc |
Все технологии используют однотипные наборы компонентов.
10.10 IBTable
.
Компонент IBTable является наиболее простым способом обращения к конкретной таблице базы данных.
Основные свойства:
DatabaseName - имя БД, содержащую искомую таблицу;
TableName - имя таблицы, на стадии проектирования выбирается из выпадающего списка;
Active - указывает, открыта (true) или нет (false) данная таблица;
ReadOnly - если это свойство равно true, таблица открыта в режиме "только для чтения";
Fields - массив объектов TField;
Eof, Bof - эти свойства принимают значение true, когда указатель текущей записи расположен на последней или соответственно первой записи таблицы;
RecordCount - возвращает общее число записей набора данных.
10.11 Вопрос
.
Какая функция используется в приложении клиента для получения списка имен полей таблицы серверной БД?
1. Table1.Fields().
2. Table1.Fields[2].AsString.
3. Table1.Fields[*].AsString.
4. Table1.Fields[*].Value.
5. Нет правильного ответа.
10.12 Состояния НД
.
В каждый момент времени набор данных находится в определенном состоянии:
10.13 Методы управления НД
.
Методы компонента реализуют набор основных функций по управлению:
- состоянием компонента;
- навигацией данных;
- работе с данными.
Open и Close устанавливающие значения свойства Active равными True и False соответственно.
Append, Insert – переводят НД в режим добавления записи, или на место курсора или в конец набора.
Edit – переводит в режим редактирования.
Delete – удаление текущей записи.
Post, Cancel – закрытие НД с сохранением и без сохранения изменений.
Refresh - позволяет заново считать набор данных из БД или из файла.
10.14 Навигация по набору
.
Реализация принципа навигации по НД осуществляется чаще всего с помощью методов и свойств компонента TDataSet:
First – первая запись таблицы (DataModule1.Table1.First);
Last – последняя запись таблицы (DataModule1.Table1. Last);
Next – следующая запись таблицы (DataModule1.Table1.Next);
Prior – предыдущая запись таблицы (DataModule1.Table1.Prior);
RecNo – переход к записи по указанному номеру:
DataModule1.Table1.RecNo:=StrToInt(Edit1.Text).
10.15 Пример использования
.
Например, код обработки всех записей таблицы может выглядеть так:
Table1.First;
while not Table1.Eof do
begin
//выполняем действие над записью.
Table1.Next;
end;
10.16 События НД
.
По паре методов-обработчиков (до и после события) предусмотрено для следующих событий в наборе данных:
- открытие и закрытие набора данных;
- переход в режим редактирования;
- переход в режим вставки новой записи;
- сохранение сделанных изменений;
- отмена сделанных изменений;
- перемещение по записям набора данных;
- обновление набора данных.
10.17 Поля наборов
.
Поля наборов данных реализованы специальным классом TField.
Доступ из программы к индивидуальным полям записи осуществляется при помощи одного из следующих свойств или методов, каждый из которых принадлежат TDataSet:
property Fields[Index: Integer];
function FieldByName(const FieldName: string): TField;
Свойство FieldCount возвращает число полей в текущей структуре записи
property FieldCount;
10.18 Пример
.
Заполнение списка ListBox значениями поля:
procedure TForm1.ValuesClick(Sender: TObject);
var
i: Integer;
begin
ListBox2.Clear;
for i := 0 to Table1.FieldCount - 1 do
ListBox.Items.Add(Table1.Fields[i].AsString);
end;
счетчик изменяется от нуля до FieldCount - 1.
10.19 TQuery
.
Основное назначение это выполнение практически любого SQL – оператора:
1. Выполнять операторы языка SQL для управления метаданными:
CREATE …
ALTER …
DROP …
2. Выполнять операторы управления данными:
INSERT …
UPDATE …
DELETE …
3. Выполнять оператор SELECT … для формирования локального набора данных, включая вызов хранимых процедур.
10.20 Вопрос.
Один компонент запроса используется для формирования нескольких наборов данных, при помощи выполнения оператора SELECT с различными значениями параметра. Возможно ли, выполнять следующий запрос и одновременно редактировать ранее сформированный набор данных?
10.21 Кэширование данных
.
Кэширование данных производится при помощи объекта:
IBClientDataSet1.SaveToFile('C:\PIS\CDset\CDS1.tss',dfBinary);
10.22 Содержание отчета
.
Название проекта, с перечислением реализуемых функций для каждого типа пользователей;
Описание состава проекта, основные модули и их назначение;
Изображение окна модуля данных проекта с наборами сформированных компонентов;
Настройка соединения с БД (пути, параметры), авторизация;
Описание основных компонентов их назначение и необходимые значения свойств (код используемых операторов);
Описание параметров управления транзакциями, результаты тестирования различных режимов видимости данных.
10.23 Вопросы по 5 лабораторной
.
Назначение, основные преимущества использования систем, построенных с применением клиент – серверных архитектур.
Технологии программной реализации многозвенной архитектуры, реализуемые средой разработки Delphi.
Наборы компонентов технологий доступа к серверным базам данных BDE и IBX, назначение основные свойства и методы.
Технологии реализации многозвенных архитектур, основные преимущества и недостатки.
Управление транзакциями, режимы видимости данных, уровни изоляции транзакций.
Реализация управления транзакциями в технологиях доступа IBExpress и BDE.
Серверные наборы данных, формирование, основные свойства, методы и события.
Основные механизмы управления данными в удаленных БД.
Понятие сетевого трафика, механизмы управления, оптимизации при работе в различных архитектурах.
10.24 Задания СРСП
.
1. Выбор и защита технологии доступа к БД;
2. Ответить на контрольные вопросы пятого модуля;
3. Провести отладку режимов видимости данных и обновления НД клиента;
4. Защитить отчет по пятой лабораторной работе;
5. Защитить отчет по разделу 3.4 курсовой работы [2];
6. Разработать пример вопроса тестового задания по теме раздела.
10.25 Задания СРС
.
1. Изучить методические указания к пятой лабораторной работе;
2. Ответить на примеры тестовых заданий к пятому модулю;
3. Изучить код модуля данных учебного примера Example;
4. Изучение механизма событий в многозвенных ИС;
5. Изучение системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE EXCEPTION;
6. Изучить конспект 9,10 лекций [3];
10.26 Демонстрация
.
Создание проекта, включая модуль данных,
Компоненты соединения с БД.
Редактирование набора данных.
Кэширование набора данных
.
10.27 Тренировочный тест, 10 вопросов.
Ответы
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11.1 Проектирование пользовательского интерфейса.
Функции ведения данных в серверной БД.
Проектирование управления данными в таблицах большого объема.
Разработка интерфейсной части клиентского приложения.
Тестирование разработанной информационной системы.
Определение времени выполнения сложного поискового запроса к БД.
Определение селективности индексов.
Составление (спецификации) описания ПО.
11.2 Определение.
Пользовательский интерфейс - это инструмент визуального взаимодействия пользователя с системой.
Качество бизнес-приложения в большой степени зависят от дизайна пользовательского интерфейса.Дизайн интерфейса должен обеспечивать выполнение задач интуитивно понятным для пользователя способом.
11.3 Данные для дизайна.
Результаты, полученные в результате анализа, исследования и оптимизации на этапах создания общей картины решения и планирования, служат исходными данными для дизайна презентационного уровня.
К ним относятся:
- требования и ограничения решения,
- сценарии использования системы,
- модели потоков операций,
- профили пользователей,
- описания задач.
К наиболее распространенным моделям и технологиям реализации пользовательского интерфейса относятся:
- стандартный пользовательский интерфейс Windows;
- Web-интерфейс;
- интерфейс мобильных устройств;
- интерфейс на основе документов.
11.4 Компоненты интерфейса.
Компоненты пользовательского интерфейса управляют взаимодействием с пользователем. Они применяются для:
- отображения информации и получения данных от пользователя,
- интерпретации событий, обусловленных действиями пользователя,
- изменения состояния интерфейса,
- информирования о степени выполнения задач.
В схеме «модель- вид- элемент управления» (Model-View-Controller, MVC) компоненты пользовательского интерфейса играют роль представления и/или элемента управления.
Согласно этой схеме приложение (или даже интерфейс приложения) делится на три части:
- модель (объект-приложение),
- представление (пользовательский вид),
- механизм управления (пользовательский элемент управления).
11.5 Функции компонентов.