Вариант 8: список офисов с указанием Ф.И.О. руководителя и список агентов с указанием города и региона работы и Ф.И.О. руководителя, список клиентов с указанием Ф.И.О. обслуживающего агента и города работы с возможностью фильтрации по городу, региону, офису, для агентов – по уровню планового и текущего объема продаж, для клиентов – по обслуживающим агентам и суммам выплат.
Вариант 9: список товаров с указанием категории и информации о производителе с возможностью фильтрации по категориям, производителю и цене и сортировки по названию товара, категориям, производителям и по цене.
Вариант 10: список работников с указанием должности, стажа и заработной платы (рассчитывается как оклад плюс надбавка за стаж) с возможностью фильтрации по должностям, стажу, отделу и уровню заработной платы и сортировки по фамилиям, должностям, отделам, стажу и заработной плате.
Вариант 11: список выданных кредитов с указанием информации о клиенте, названия кредита, выданной суммы и суммы, подлежащей возврату с учетом процентов, с возможностью фильтрации по видам кредитов, величине выданной суммы и давности выдачи (год назад, 6, 3 или 1 месяц назад, неделю назад) и сортировки по фамилии клиента, виду кредита и давности выдачи.
Вариант 12: список статей с указанием темы, заголовка темы и описания статьи без вывода самой статьи с возможностью фильтрации и сортировки по темам.
3) Включите в отчет программный код и объявление класса формы, созданные в процессе выполнения лабораторной работы.
Контрольные вопросы к работе:
1) Что Вам известно о возможностях фильтрации выводимых данных у компонента TTable? Опишите известные Вам свойства и методы этого компонента, предназначенные для фильтрации данных.
2) Существует ли метод управления отображением данных, полученных из БД, альтернативный использованию объектов-полей (TField) класса TQuery? Опишите краткую реализацию известных Вам методов с разъяснениями назначения используемых объектов и классов, а также их свойств и методов.
3) Как по-вашему, в каком режиме (чтение/запись, только чтение, только запись) открывается набор данных, возвращаемый компонентом TQuery при выполнении запроса SELECT? Какими способами можно модифицировать информацию, хранящуюся в БД, с помощью компонента TQuery?
Лабораторная работа №11.
Тема:
«Манипуляции с таблицами БД с помощью TQuery».
Цель работы:
Научиться производить манипуляции с данными, хранящимися в БД, с помощью выполнения запросов DML компонентом TQuery.
Пример выполнения задания и краткие теоретические сведения:
С помощью компонента TQuery можно не только извлекать информацию из БД (путем выполнения запроса SELECT), но и производить манипуляции с данными, хранящимися в БД (путем выполнения команд DML – UPDATE, INSERT и DELETE).
Запрос на выборку данных выполнялся в TQuery с помощью метода Open. Для выполнения запросов DML у этого компонента предусмотрен метод ExecSQL.
Создадим форму редактирования для разработанной ранее программы учета гостиничных номеров. Поместим на нее 2 компонента TEdit, две кнопки TButton, несколько надписей TLabel информационного характера и компонент TQuery. Внешний вид формы на этапе проектирования представлен на рисунке ниже:
В модуле этой формы (Unit3.pas) объявим глобальную переменную “clientID: Integer”, в которую будет передаваться идентификатор (значение поля “clients.id” из БД) клиента, информацию о котором нужно отредактировать. Для того, чтобы при открытии формы в поля редактирования заносились значения из БД создадим обработчик создания формы:
procedure TfrmClientEdit.FormCreate(Sender: TObject);
begin
if clientID > 0 then begin
query1.SQL.Text := 'SELECT fio, doc FROM clients
WHERE (id = ' + IntToStr(clientID) + ');';
query1.Open;
if query1.FieldCount > 0 then begin
edFIO.Text := query1.FieldByName('fio').AsString;
edDoc.Text := query1.FieldbyName('doc').AsString;
end;
query1.Close;
end;
end;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.