Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Динамические запросы
Динамические запросы. Работа с SQL- запросами включает в себя: · Создание запроса; · Редактирование запроса; · Выполнение запроса. Создайте (если еще не создана) новую таблицу otdel.db с информацией об отделах (N_otd (счетчик), Nazv (название, строка), Tel(телефон, строка)) Эта таблица будет родительской по отношению к дочерней таблице sort.db. Связь этих таблиц будет осуществляться по номеру отдела. Следите за тем, чтобы типы полей связи совпадали.Наполните таблицы корректными данными.
Динамические запросы
Рис. 1 Сортировка реляционным способом.
Нажатие на кнопку Сортировка формирует и запускает динамический запрос. Здесь используются псевдонимы для полей.
Создайте запрос, который выводит полную информацию о сотруднике с помощью компонента Query1. В полях Edit1 и Edit2 запрашивайте верхнюю и нижнюю границы оклада сотрудника. Нажатие на кнопку Показать создает с помощью метода Add и запускает запрос на выполнение. Query1.SQL.Add(‘Select * from sotr ’); Query1.SQL.Add(‘ Where salary > =’ + Edit1.Text +); Query1.SQL.Add(‘ AND salary< =’ + Edit2.Text); Для запроса можно задавать параметры, используя свойство Params компонента Query. Зададим для компонента Query1 два параметра pMin для нижней границы диапазона и pMax – для верхней.
Рис.2 Инспектор объектов
Текст запроса при этом будет содержать имя параметра с впередиидущим двоеточием, например:
Настройка параметров выполняется программным путем, например: Query1.ParamByName('pMin').Value: =StrToFloat(Edit1.Text);
Затем запрос выполняется. Задание 1. Создайте обработчик события нажатия на кнопку Показать Задание 2. Создать запрос с параметром, позволяющий выбрать сотрудников заданной должности реляционным способом. Название должности выбирать из списка выбора.
Задание 3. Измените запрос по классу к БД «Школа» (лаб_раб №2), который выводит список учеников заданного класса, заданного с помощью параметра.
Дополнительные задания Задание 4: сконструируйте запрос, который выводит в алфавитном порядке фамилии, должности и оклады сотрудников заданного отдела, получающих не менее N руб.
Задание 5: А) создайте запрос, который отбирает данные об инженерах и экономистах. Б) к предыдущему запросу добавьте условие: оклады сотрудников лежат в интервале от А до В рублей. В) выбрать сотрудников, фамилии которых начинаются на заданную букву. Г) выбрать сотрудников, фамилии которых начинаются на буквы «А, Б, В, Г». Задайте начальную и конечную границу для букв с помощью параметров.
Задание 5: Создайте запрос, который отбирает записи о сотрудниках, работающих в заданном отделе. Отдел выбрать из списка.
Задание 6: Создайте запрос с группировкой и определите количество сотрудников в каждом отделе и суммарный оклад. В результирующий запрос включите поля: номер, название отдела по алфавиту, количество сотрудников, суммарный оклад.
Задание 7: Создайте запрос, который выводит список должностей организации и определяет средний оклад по каждой должности в порядке убывания этой величины.
|