![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для обеспечения большей гибкости запросов в тексте запроса могут указываться вместо конкретных значений переменные, которые получают конкретные значения при выполнении запроса. Такие переменные называются параметрами, а соответствующие запросы – запросами с параметрами. Перед переменной, обозначающей параметр в тексте запроса необходимо поставить знак «:», а перед открытием запроса – вызвать специальный метод ParamByName класса TQuery:
<имя объекта класса TQuery (имя запроса)>.ParamByName (<имя параметра>).Value:=<выражение>
Тип выражения должен соответствовать типу значения, который заменяет параметр в запросе. После выполнения метода ParamByName значение выражения заменяет в запросе параметр.
Приведем пример. Пусть требуется в качестве результата запроса получить книги всех писателей, проживающих в заданной стране, и вышедшие не позднее заданного года.
Структура такого запроса следующая:
SELECT b.name
FROM authers a, books b, country c
WHERE (b.id_aut=a.id) AND (a.id_country=c.id) AND (c.name=:param1) AND
(b.year_publ>=:param2)
ORDER BY b.name
Перед обращением к данному запросу необходимо задать значения двух параметров (типы данных: Country – String, Year- Short), а затем выполнить запрос:
Country:=InputBox(‘Наименование страны ’, ‘Введите наименование страны’,’’);
Year:=StrToInt(InputBox(‘Год’, ‘Введите год’,’’));
Query1.Close;
Query1.ParamByName('param1').Value:=Country;
Query1.ParamByName('param2').Value:=Year;
Query1.Open;
Дата публикования: 2014-12-11; Прочитано: 195 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!