- •1. Описание практических работ
- •1.1 Тема: Введение в работу с удалёнными бд
- •1.1.1 Пр1 Проектирование структуры бд
- •1.1.2 Пр2 Создание и использование модуля данных
- •Использование компонента tMainMenu
- •2. Использование компонентов tdbGrid, Tрanel, TbitBtn
- •1.2 Тема: Проектирование серверной части приложения бд
- •1.2.1 Пр3 Создание и использование подстановочных полей (Lookup)
- •1.2.2 Пр4 Использование команд для работы с индексами
- •1.3 Тема: Визуальные средства проектирования структуры бд
- •1.3.1 Пр5 Использование графической среды AllFusion
- •1.4 Тема: Компоненты доступа к данным. Запросы на выборку данных
- •1.4.1 Пр6 Организация запросов на выборку данных
- •Создание запроса на выборку в базе данных для настольных систем
- •Создание запроса на выборку в приложении Access
- •1.4.2 Пр7 Использование методов для навигации по наборам данных
- •Изменение записи
- •Удаление содержимого поля или удаление всей записи
- •1.5.2 Пр9 Создание и использование объектов для вычисляемых полей (Calculated)
- •1.6 Тема: Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
- •1.6.1 Пр10 Методы для проверки правильности введенного в поле значения в приложениях бд
- •Проверка данных в поле
- •1.7 Тема: Сортировка, поиск и фильтрация данных в бд и в выборках
- •1.7.1 Пр11 Организация поиска записей с использованием метода Locate
- •1.7.2 Пр12 Организация поиска записей с использованием метода Lookup
- •1.8 Тема: Управление транзакциями и кэширование памяти
- •1.8.1 Пр13 Организация фильтрации записей по выражению
- •1.8.2 Пр14 Организация фильтра записей по диапазону
- •1.9 Тема: Перехват исключительных ситуаций и обработка ошибок
- •1.9.1 Пр15 Использование процедур для обработки исключений
- •1.10 Тема: Формирование и вывод отчетов
- •1.10.1 Пр16 Создание и использование составляющих отчета
- •Способы создания отчета
- •Создание отчета
- •1.10.2 Пр17 Использование возможностей импорта данных в отчет
- •Работа в Excel с данными Access
- •Копирование в Excel данных Access
- •1.11 Тема: Установка привилегий доступа к данным
- •1.11.1 Пр18 Создание справочной системы
- •1.12 Тема: Копирование и перенос данных. Восстановление данных
- •1.12.1 Пр19 Подключение справочного файла к приложению
- •1.13 Тема: Копирование клиентской части приложения бд
- •1.13.1 Пр20 Создание дистрибутива приложения
- •Создание дистрибутива для проекта калькулятора
1.6 Тема: Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
1.6.1 Пр10 Методы для проверки правильности введенного в поле значения в приложениях бд
Цель: научиться развивать и совершенствовать полученные знания при проверке правильности введенного значения в приложениях БД.
В данной практической работе описан процесс создания условия на значение на уровне полей и на уровне записей, а также проверка существующих данных на соответствие новым условиям на значение.
Условия на значения могут быть заданы для всех типов данных за исключением типов «Счетчик», «Объект OLE» и «Вложение» и числовых полей со значением «Код репликации».
Проверка данных в поле
В области переходов щелкните правой кнопкой мыши таблицу, которую требуется изменить, и выберите команду Конструктор.
В столбце Имя поля выберите поле, которое требуется изменить.
В нижней части конструктора таблиц на вкладке Общие выделите ячейку свойства Условие на значение (Validation Rule) и введите условие на значение.
-или-
На
вкладке Данные нажмите
кнопку
,
чтобы открыть построитель выражений и
создать выражение.
Введите условие, применимое только к полю. Например, можно ввести >0, чтобы можно было вводить только положительные значения. Помните, что условие на значения для поля не ссылается на другие поля в таблице. Если условие на значение ссылается на другие поля, это означает, что создается проверка на уровне записей.
Выделите ячейку свойства Сообщение об ошибке (Validation Text) и введите сообщение об ошибке.
Вводимое сообщение должно соответствовать заданному условию на значение. Создавайте короткие сообщения, объясняющие пользователю, в чем он ошибся. Для приведенного на предыдущем шаге примера можно использовать в качестве сообщения об ошибке текст: Вводите только положительные значения.
Сохраните внесенные изменения.
1.7 Тема: Сортировка, поиск и фильтрация данных в бд и в выборках
1.7.1 Пр11 Организация поиска записей с использованием метода Locate
Цель: Сформировать практические умения и навыки, используя метод Locate и реализовать поиск данных.
Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает ее текущей. В этом случае в качестве результата возвращается значение True. Если запись не найдена, возвращается значение False и курсор не меняет своего положения.
Откройте проект Delphi, созданный при выполнении практической работы «Создание объектов полей».
Разместите на форме компонент SpinEdit (вкладка Samples)
Компонент DBGrid свяжите с источником данных.
Для компонента SpinEdit напишите обработчик события onChange: при изменении значения SpinEdit курсор должен быть установлен на запись с соответствующим номером накладной. Используйте метод Locate
if not DM.Nakls.Locate('Naklid',SpinEdit1.Value,[]) then
ShowMessage('Нет накладных с указанным номером');
DBGrid1.SetFocus
Проверьте работу программы.
Сохраните проект.
1.7.2 Пр12 Организация поиска записей с использованием метода Lookup
Цель: Сформировать практические умения и навыки, используя метод Lookup и реализовать поиск данных.
Метод Lookup находит запись, удовлетворяющую условию поиска, но не делает ее текущей, а возвращает значения некоторых ее полей. Независимо от результата поиска записи указатель текущей записи в НД не изменяется. В отличие от метода Locate, метод Lookup осуществляет поиск только на точное соответствие критерию поиска значения поля поиска записи.
Создайте новый проект в Delphi.
Создайте модуль данных, куда поместите компоненты для связи с БД IB_BIBL.gdb, а также компоненты – наборы данных и компоненты – источники данных для таблиц Nakls и Firms.
С помощью редактора полей для компонента Nakls создайте подстановочное поле Firm для поиска наименования фирмы по ее номеру.
Разместите на форме один компонент SpinEdit, четыре компонента StaticText, четыре текстовых метки, одну кнопку, как показано на рисунке.
Для кнопки «Искать» напишите обработчик события onClick, который осуществляет поиск в наборе данных с помощью метода LookUp и присваивает компонентам StaticText соответствующие значения полей набора данных. Если накладной с указанным номером не существует, выдайте соответствующее сообщение.
Пример процедуры:
procedure TfmNakl.Button1Click(Sender: TObject);
var
LookupResult: Variant;
begin
LookupResult := DM.Nakls.Lookup('NaklID',seNaklID.Value,
'NDate;Firm;NSum;NPayedSum');
if VarType(LookupResult)=varNull then
ShowMessage('Нет накладной с номером '+IntToStr(seNaklID.Value))
else if VarType(LookupResult)=varEmpty then
ShowMessage('Поиск не проведен')
else if VarIsArray(LookupResult) then
begin
stDate.Caption := LookupResult[0];
stName.Caption := LookupResult[1];
stSum.Caption := LookupResult[2];
stPayed.Caption := LookupResult[3];
end else
stDate.Caption := LookupResult
end;
Проверьте работу программы
