Компоненты для работы с БД: TTable и TQuery
Категория реферата: Рефераты по информатике, программированию
Теги реферата: банки курсовая работа, доклад на тему язык
Добавил(а) на сайт: Венедикта.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
Можно превратить это утверждение в параметризованный запрос заменив правую часть переменной NameStr: select * from County where Name like :NameStr
В этом предложении SQL, NameStr не является предопределенной константой и может изменяться либо во время дизайна, либо во время выполнения. SQL parser (программа, которая разбирает текст запроса) понимает, что он имеет дело с параметром, а не константой потому, что параметру предшествует двоеточие ":NameStr". Это двоеточие сообщает Delphi о необходимости заменить переменную NameStr некоторой величиной, которая будет известна позже.
Нужно обратите внимание, что слово NameStr было выбрано абсолютно случайно. Использовать можно любое допустимое имя переменной, точно также, как выбирается идентификатор переменной в программе.
Есть два пути присвоить значение переменной в параметризованном запросе
SQL. Один способ состоит в том, чтобы использовать свойство Params объекта
TQuery. Второй - использовать свойство DataSource для получения информации
из другого DataSet. Вот ключевые свойства для достижения этих целей:
property Params[Index: Word]; function ParamByName(const Value: string); property DataSource;
Если подставлять значение параметра в параметризованный запрос через свойство Params, то обычно нужно сделать четыре шага:
1. Закрыть TQuery
1. Подготовить объект TQuery, вызвав метод Prepare
2. Присвоить необходимые значения свойству Params
3. Открыть TQuery
Второй шаг выполняется в том случае, если данный текст запроса выполняется впервые, в дальнейшем его можно опустить.
Вот фрагмент кода, показывающий как это может быть выполнено практически:
Query1.Close;
Query1.Prepare;
Query1.Params[0].AsString := ‘Argentina’;
Query1.Open;
Params - это индексированное свойство, которое имеет синтаксис как у свойства Fields для TDataSet. Например, можно получить доступ к первой переменной в SQL запросе, адресуя нулевой элемент в массиве Params:
Params[0].AsString := ‘”Argentina”’;
Если параметризованный SQL запрос выглядит так: select * from Country where Name = :NameStr то конечный результат (т.е. то, что выполнится на самом деле) - это следующее предложение SQL: select * from Country where Name = “Argentina”
Все, что произошло, это переменной :NameStr было присвоено значение
"Аргентина" через свойство Params.
Если в запросе содержится более одного параметра, для того чтобы иметь доступ к ним нужно изменить индекс у свойства Params
Params[1].AsString :=‘SomeValue’; либо используя доступ по имени параметра
ParamByName(‘NameStr’).AsString:=’”Argentina”’;
Итак, параметризованные SQL запросы используют переменные, которые всегда начинаются с двоеточия, определяя места, куда будут переданы значения параметров.
Прежде, чем использовать переменную Params, сначала можно вызвать
Prepare. Этот вызов заставляет Delphi разобрать ваш SQL запрос и
подготовить свойство Params так, чтобы оно "было готово принять”
соответствующее количество переменных. Можно присвоить значение переменной
Params без предварительного вызова Prepare, но это будет работать несколько
медленнее.
После того, как был вызыван метод Prepare, и после того, как были присвоены необходимые значения переменной Params, Нужно вызвать метод Open, чтобы закончить привязку переменных и получить желаемый DataSet. В нашем случае, DataSet должен включать записи где в поле “Name” стоит “Argentina”.
Open или ExecSQL?
После того, как составлен SQL запрос, есть два различных способа
выполнить его. Если нужно получить курсор, то нужно вызывать Open. Если
выражение SQL не подразумевает возвращение курсора, то нужно вызывать
ExecSQL. Например, если происходит вставка, удаление или обновление данных
(т.е. SQL запросы INSERT, DELETE, UPDATE), то нужно вызывать ExecSQL. Тоже
самое можно сказать по-другому: Open вызывается при запросе типа SELECT, а
ExecSQL - во всех остальных случаях.
Рекомендуем скачать другие рефераты по теме: республика реферат, решебники за 8 класс.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата