Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 714

•  TDictionary Custom Sort  6 713

•  Fast Watermark Sources  6 490

•  3D Designer  9 427

•  Sik Screen Capture  6 826

•  Patch Maker  7 268

•  Айболит (remote control)  7 222

•  ListBox Drag & Drop  6 073

•  Доска для игры Реверси  97 776

•  Графические эффекты  7 397

•  Рисование по маске  6 694

•  Перетаскивание изображений  5 548

•  Canvas Drawing  5 935

•  Рисование Луны  5 705

•  Поворот изображения  5 170

•  Рисование стержней  3 770

•  Paint on Shape  2 955

•  Генератор кроссвордов  3 886

•  Головоломка Paletto  3 096

•  Теорема Монжа об окружностях  3 906

•  Пазл Numbrix  2 569

•  Заборы и коммивояжеры  3 356

•  Игра HIP  2 305

•  Игра Go (Го)  2 203

•  Симулятор лифта  2 612

•  Программа укладки плитки  2 201

•  Генератор лабиринта  2 714

•  Проверка числового ввода  2 355

•  HEX View  2 693

•  Физический маятник  2 366

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



SQL в Delphi



Автор: 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 приложения могут управлять транзакциями следующими способами:

  1. Неявно, автоматически стартуя и запуская транзакции, когда приложение пытается передать данные (Post data).
  2. Явно, следующими способами в зависимости от уровня управления, требующемуся вашему приложению:
    • Методы TDatabase StartTransaction, Commit, и Rollback.
    • Это рекомендуемый метод.
  3. Passthrough (транзитная пересылка) SQL в компоненте TQuery. Ваше приложение должно использовать специфически-серверные SQL запросы управления транзакциями, и вы должны понять как управляются транзакции вашим сервером.