Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 112 стр.

UptoLike

Составители: 

112
5.3. Параметрические запросы
Параметрические запросы позволяют подставить значение переменной
(параметра) вместо отдельных слов в выражениях
WHERE или INSERT. Пара-
метрэто имя с двоеточием перед ним. Имена параметров можно задавать
любые, записанные в соответствии с правилами формирования имён. Имена
параметров могут не совпадать с именами полей. Значение параметра может
быть изменено в нужный момент.
SQL parser (программа, которая разбирает текст запроса) понимает, что
имеет дело с параметром, а
не константой, так как имени параметра предшест-
вует двоеточие (например
:NameStr). Двоеточие сообщает о необходимости
заменить переменную
NameStr некоторой величиной, которая будет задана
позже. Есть два пути присвоить значение переменной в параметрическом за-
просе SQL: использовать свойство
Params объекта Query или использовать
свойство
DataSource для получения информации из другого DataSet. Сам за-
прос можно сформировать в Инспекторе объектов или программно.
5.3.1. Задание параметров через свойство Params программно
Программно доступ к параметру можно выполнить несколькими спосо-
бами:
по индексу. Например,
Params[0] используется для обращения к
первому параметру в SQL-запросе;
по имени методом
ParamByName. Например, для обращения к пара-
метру
LastNameMy используется ParamByName(LastNameMy);
используя свойство
ParamValues класса TParams;
используя свойство
Value класса TParams.
При задании конкретного значения параметра для указания типа исполь-
зуется одно из свойств класса
TParams (AsString, AsInteger и т.д.) или
свойство
Value типа Variant.
Например, для запроса
SELECT * FROM country WHERE Name=:Name
                       5.3. Параметрические запросы
        Параметрические запросы позволяют подставить значение переменной
(параметра) вместо отдельных слов в выражениях WHERE или INSERT. Пара-
метр – это имя с двоеточием перед ним. Имена параметров можно задавать
любые, записанные в соответствии с правилами формирования имён. Имена
параметров могут не совпадать с именами полей. Значение параметра может
быть изменено в нужный момент.
        SQL parser (программа, которая разбирает текст запроса) понимает, что
имеет дело с параметром, а не константой, так как имени параметра предшест-
вует двоеточие (например :NameStr). Двоеточие сообщает о необходимости
заменить переменную NameStr некоторой величиной, которая будет задана
позже. Есть два пути присвоить значение переменной в параметрическом за-
просе SQL: использовать свойство Params объекта Query или использовать
свойство DataSource для получения информации из другого DataSet. Сам за-
прос можно сформировать в Инспекторе объектов или программно.

        5.3.1. Задание параметров через свойство Params программно
        Программно доступ к параметру можно выполнить несколькими спосо-
бами:
        – по индексу. Например, Params[0] используется для обращения к
          первому параметру в SQL-запросе;
        – по имени методом ParamByName. Например, для обращения к пара-
          метру LastNameMy используется ParamByName(LastNameMy);
        – используя свойство ParamValues класса TParams;
        – используя свойство Value класса TParams.
        При задании конкретного значения параметра для указания типа исполь-
зуется одно из свойств класса TParams (AsString, AsInteger и т.д.) или
свойство Value типа Variant.
        Например, для запроса
SELECT * FROM country WHERE Name=:Name

                                      112