Что такое вообще так называемые "параметры" с точки зрения компонент, связанных с работой с СУБД? Это переменные в SQL скрипте. Т.е. перед моментом исполнения скрипта, на место переменной в скрипте поставляется конкретное текстовое или численное значение и скрипт отправляется СУБД на исполнение.
Синтаксис параметров в скрипте такой:
:VAR_NAME
Пример использования:
SELECT PASS, MAIL FROM MEMBERS WHERE MAIL = :pEMAIL;
:pEMAIL в данном случае - параметр.
Параметры добавляются в сам компонент скрипта (во всяком случае я так делал и это работало). Как всегда способа добавления два: "run-time"и графический.
В графическом:
Поле DataType - тип данных.
Поле Size - размер параметра (поля value).
В "run-time" на мой взгляд все гораздо проще:
var VAR:TYPE;NAME:STRING;
...
script.params[0].AsTYPE:=VAR;
script.params[0].Name:=NAME;
Например:
var email:string;
...
query.SQL.SetText:=SELECT PASS, MAIL FROM MEMBERS WHERE MAIL = :pEMAIL;
query.params[0].AsString:=EMAIL;
query.params[0].Name:='pEMAIL';
Все! MSEIDE автоматически создает поля параметров при разборе sql-оператора. К ним обращается по номеру. Номер параметра - его номер от начала скрипта. При помощи AsType мы указываем тип параметра и задаем его значение. Так же можно обращаться к параметру по его имени.
Всегда сначала идет "AsType", а затем заполняются поля параметра.
Параметры есть и в tMseSqlScript и в tMseSqlQuery и во многих других компонентах, где нужно писать SQL-скрипты. Но об этом, и в частности о query, в следующей статье.
Синтаксис параметров в скрипте такой:
:VAR_NAME
Пример использования:
SELECT PASS, MAIL FROM MEMBERS WHERE MAIL = :pEMAIL;
:pEMAIL в данном случае - параметр.
Параметры добавляются в сам компонент скрипта (во всяком случае я так делал и это работало). Как всегда способа добавления два: "run-time"и графический.
В графическом:
- Выделяем нужный компонент скрипта;
- В инспекторе объектов ищем свойство params.coumt и задаем нужное количество параметров;
- Раскрываем (слева плюсик появляется), перед нами появляется список параметров, которые можно спокойно редактировать.
Поле DataType - тип данных.
Поле Size - размер параметра (поля value).
В "run-time" на мой взгляд все гораздо проще:
var VAR:TYPE;NAME:STRING;
...
script.params[0].AsTYPE:=VAR;
script.params[0].Name:=NAME;
Например:
var email:string;
...
query.SQL.SetText:=SELECT PASS, MAIL FROM MEMBERS WHERE MAIL = :pEMAIL;
query.params[0].AsString:=EMAIL;
query.params[0].Name:='pEMAIL';
Все! MSEIDE автоматически создает поля параметров при разборе sql-оператора. К ним обращается по номеру. Номер параметра - его номер от начала скрипта. При помощи AsType мы указываем тип параметра и задаем его значение. Так же можно обращаться к параметру по его имени.
Всегда сначала идет "AsType", а затем заполняются поля параметра.
Параметры есть и в tMseSqlScript и в tMseSqlQuery и во многих других компонентах, где нужно писать SQL-скрипты. Но об этом, и в частности о query, в следующей статье.
Комментариев нет:
Отправить комментарий