|
В этой главе Вы узнаете некоторые
основные понятия о запросах (queries) и
транзакциях. Это достаточно
широкие понятия, поэтому
обсуждение разбито на следующие
основные части:
Объект TQuery.
Использование SQL с локальным и
удаленным серверами (Select, Update,
Delete и Insert).
Использование SQL для создания
объединения (joins), связанных
курсоров (linked cursors) и программ,
которые ведут поиск заданных
записей.
Сокращение SQL означает Structured Query
Language - Язык Структурированных
Запросов, и обычно произноситься
либо как "Sequel" либо " Ess Qu El”.
Однако, как бы Вы его ни
произносили, SQL - это мощный язык БД,
который легко доступен из Delphi, но
который отличается от родного
языка Delphi. Delphi может использовать
утверждения SQL для просмотра
таблиц, выполнять объединение
таблиц, создавать отношения
один-ко-многим, или исполнить почти
любое действие, которое могут
сделать ваши основные инструменты
БД. Delphi поставляется с Local SQL, так что
Вы можете выполнять запросы SQL при
работе с локальными таблицами, без
доступа к SQL серверу.
Delphi обеспечивает поддержку “pass
through SQL”, это означает то, что Вы
можете составлять предложения SQL и
посылать их непосредственно
серверам Oracle, Sybase, Inrterbase и другим.
“Pass through SQL” - это мощный механизм
по двум причинам:
Большинство серверов могут
обрабатывать SQL запросы очень
быстро, а это означает, что
используя SQL для удаленных данных,
Вы получите ответ очень быстро.
Есть возможность составлять SQL
запросы, которые заставят сервер
исполнить специализированные
задачи, недоступные через родной
язык Delphi.
Перед чтением этой статьи Вы
должны иметь, по крайней мере,
элементарное понятие о серверах и
различиях между локальными и
удаленными (remote) данными.
Основные понятия о TQuery
Предыдущий Урок был, в основном,
посвящен объекту TTable, который
служит для доступа к данным. При
использовании TTable, возможен доступ
ко всему набору записей из одной
таблицы. В отличие от TTable, TQuery
позволяет произвольным образом (в
рамках SQL) выбрать набор данных для
работы с ним. Во многом, методика
работы с объектом TQuery похожа на
методику работы с TTable, однако есть
свои особенности.
Вы может создать SQL запрос
используя компонент TQuery следующим
способом:
Назначите Псевдоним (Alias)
DatabaseName.
Используйте свойство SQL чтобы
ввести SQL запрос типа
“Select * from Country”.
Установите свойство Active в True
Если обращение идет к локальным
данным, то вместо псевдонима можно
указать полный путь к каталогу, где
находятся таблицы.
Две основных вещи, которые Вы
должны понять прежде, чем перейти
дальше:
Этот урок не является
учебником для начинающих по SQL,
а, скорее, описанием объекта
TQuery и основных задач, которые
Вы можете решить с его помощью.
Если Вы не знаете ничто об SQL, Вы
все же сможете воспользоваться
этой статьей, и, в конце концов,
приобретете некоторое
понимание основ SQL. Однако, для
полного изучения языка, Вы
должны обратиться к любой из
большого количества книг и
документов, доступных по этому
предмету.
Delphi использует pass through SQL,
поэтому для разных SQL серверов
синтаксис может быть несколько
разным. Версия SQL для локальных
таблиц (Local SQL) очень сильно
урезан, по сравнению со
стандартом. Чтобы узнать о его
возможностях, Вы должны
прочитать не только эту статью,
но также файл LOCALSQL.HLP.
Вы увидите, что объект TQuery один из
наиболее полезных и гибких
компонентов, доступных в Delphi. С ним
Вы сможете воспользоваться всей
мощью, предоставляемой лидерами
среди промышленных SQL серверов,
вроде InrterBase, Oracle или Sybase.
Свойство SQL
Свойство SQL - вероятно, самая
важная часть TQuery. Доступ к этому
свойству происходит либо через
Инспектор Объектов во время
конструирования проекта (design time),
или программно во время выполнения
программы (run time).
Интересней, конечно, получить
доступ к свойству SQL во время
выполнения, чтобы динамически
изменять запрос. Например, если
требуется выполнить три SQL запроса,
то не надо размещать три компонента
TQuery на форме. Вместо этого можно
разместить один и просто изменять
свойство SQL три раза. Наиболее
эффективный, простой и мощный
способ - сделать это через
параметризованные запросы, которые
будут объяснены в следующей части.
Однако, сначала исследуем основные
особенности свойства SQL, а потом
рассмотрим более сложные темы, типа
запросов с параметрами.
Свойство SQL имеет тип TStrings,
который означает что это ряд строк,
сохраняемых в списке. Список
действует также, как и массив, но,
фактически, это специальный класс с
собственными уникальными
возможностями. В следующих
нескольких абзацах будут
рассмотрены наиболее часто
используемые свойства.
При программном использовании
TQuery, рекомендуется сначала закрыть
текущий запрос и очистить список
строк в свойстве SQL:
Query1.Close;
Query1.SQL.Clear;
Обратите внимание, что всегда
можно “безопасно” вызвать Close.
Даже в том случае, если запрос уже
закрыт, исключительная ситуация
генерироваться не будет.
Следующий шаг - добавление новых
строк в запрос:
Query1.SQL.Add(‘Select * from Country’);
Query1.SQL.Add(‘where Name = ’’Argentina’’’);
Метод Add используется для
добавления одной или нескольких
строк к запросу SQL. Общий объем
ограничен только количеством
памяти на вашей машине.
Чтобы Delphi отработал запрос и
возвратил курсор, содержащий
результат в виде таблицы, можно
вызвать метод:
Query1.Open;
Демонстрационная программа THREESQL
показывает этот процесс (см Рис.1)
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском
.
книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать
|
|