Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Запросы с параметрами



Для обеспечения большей гибкости запросов в тексте запроса могут указываться вместо конкретных значений переменные, которые получают конкретные значения при выполнении запроса. Такие переменные называются параметрами, а соответствующие запросы – запросами с параметрами. Перед переменной, обозначающей параметр в тексте запроса необходимо поставить знак «:», а перед открытием запроса – вызвать специальный метод 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; Прочитано: 184 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...