Автор: OAmiry (Borland)
Delphi поддерживает статический и динамический SQL. В Delphi
имеется объект TQuery, который используется для хранения и
выполнения SQL-запросов.
Свойство TQuery SQL содержит текст SQL-запроса, выполняемых
TQuery. Данное свойство имеет тип TStrings, означающее, что оно
может хранить в списке целую серию строк. Список ведет себя подобно
массиву, но в действительности это специальный класс с уникальными
возможностями.
Компонент TQuery позволяет выполнять два типа
SQL-запросов:
- Статические SQL-запросы
- Динамические SQL-запросы
Статический SQL-запрос
устанавливается во время проектирования и не содержит никаких
параметров или переменных. Например, следующая строка является
статическим SQL-запросом:
SELECT * FROM CUSTOMER WHERE CUST_NO = 1234
Динамический SQL-запрос, или, как его еще называют,
параметрический запрос, включает в себя параметры для колонок или
имени таблицы. Например, следующая строка является динамическим
SQL-запросом:
SELECT * FROM CUSTOMER WHERE CUST_NO = :Number
Переменная Number, указанная после двоеточия - параметр, который
вы назначаете во время выполнения приложения. Во время выполнения
запроса параметр может изменяться.
Delphi-приложения могут использовать SQL для получения доступа
к следующим БД:
- Таблицы Paradox или dBASE, использующие локальный SQL.
Допустимый синтаксис является подмножеством стандарта
ANSI-standard SQL и включает основные SELECT, INSERT, UPDATE, и
DELETE запросы. Для получения дополнительной информации о
локальном синтаксисе SQL обратитесь к справке Using Local SQL.
- Базы данных Local InterBase Server, включая Local InterBase
Server. Допускаются любые запросы InterBase SQL. Для получения
дополнительной информации о синтаксисе и ограничениях обратитесь к
электронной справке SQL Statement and Function Reference.
- Базы данных на удаленных серверах баз данных (только в версии
Delphi Client/server). По-видимому вы установили подходящий SQL
Link. В SQL серверах допускаются любые стандартные SQL запросы.
Для получения дополнительной информации о синтаксисе и
ограничениях обратитесь к электронной справке вашего сервера.
Delphi также поддерживает разнородные запросы к более чем
одному серверу или типу таблицы (для примера, данные из таблицы
Oracle и таблицы Paradox). Для получения дополнительной информации
обратитесь к электронной справке Creating Heterogeneous Queries
(создание гетерогенных запросов).
Обработка транзаций в приложениях:
Delphi приложения могут управлять транзакциями следующими
способами:
- Неявно, автоматически стартуя и запуская транзакции, когда
приложение пытается передать данные (Post data).
- Явно, следующими способами в зависимости от уровня управления,
требующемуся вашему приложению:
- Методы TDatabase StartTransaction, Commit, и Rollback.
- Это рекомендуемый метод.
- Passthrough (транзитная пересылка) SQL в компоненте TQuery.
Ваше приложение должно использовать специфически-серверные SQL
запросы управления транзакциями, и вы должны понять как
управляются транзакции вашим сервером.
|