<<
>>

Пример использования компонентов, работающих с SQL-запросами

Рассмотрим возможность практического использования перечисленных выше ком­понентов. В дальнейшем полученные результаты пригодятся нам для изучения SQL-команд. В качестве исходных данных воспользуемся уже известной нам ба­зой данных sales.mdb.

1. Для создания нового приложения выполните команду File ► New VCL Form Ap­plication.

2. Разместите на форме компоненты TQuery и TDataSource. Последний необходим для связи набора данных с компонентами визуализации данных и расположен на вкладке Data Access палитры компонентов.

3. Подключите базу данных Sales. Поскольку эта процедура рассматривалась в гла­ве 9 применительно к компоненту ТТаЫе, здесь мы на ней останавливаться не будем.

ПРИМЕЧАНИЕ------------------------------------------------------------------------------

В отличие от ТТаЫе, класс TQuery не имеет свойств, в которых указывается связанная с ним таблица базы данных. При его использовании информация поступает в набор данных в результате выполнения SQL-запроса, заданного в свойстве SQL.

4. Для задания запроса щелкните на кнопке с многоточием в поле ввода свойства 50Е инспектора объектов. При этом откроется окно текстового редактора, в ко­тором формируется запрос. Сформируйте запрос, как показано на рис. 11.1: Его назначение состоит в возвращении выборки данных, содержащей все поля и все записи таблицы Товары нашей базы данных.

5.

Щелкните на кнопке Code Editor. Текст запроса появится в окне редактора кода (рис. 11.2), причем ключевые слова языка SQL будут выделены полужирным шрифтом, что снижает вероятность ошибок при написании запроса.

СОВЕТ ---------------------------------------------------------------------------------------

При использовании компонента доступа к данным TQuery для задания SQL-запроса можно применять визуальный редактор запросов SQL Builder, который вызывается командой SQL Builder контекстного меню компонента TQuery, помещенного на фор­му.

Однако он плохо работает с базами данных, в которых имена полей заданы кирил­лицей (выдаются различные малопонятные сообщения об ошибках).

6. Выполните настройку источника данных TDataSource. Она производится так же, как в случае компонента ТТаЫе — в свойстве DataSet указывается имя объекта доступа к данным (по умолчанию — Queryl).

Далее необходимо разместить на форме необходимые элементы управления и выполнить их настройку.

7. Выберите следующие элементы:

■ компонент ТМето — для отображения и редактирования текста запроса;

■ компонент TDBGrid — для отображения результатов выполнения запроса;

■ кнопку TButton — для подачи команды на выполнение запроса.

Примерный вариант размещения на форме необходимых компонентов показан на рис. 11.3.

Рис. 11.3. Размещение элементов управления на форме

5. Для настройки компонента визуализации полей базы данных TDBGrid в его свой­стве DataSource укажите имя источника данных (по умолчанию — DataSourcel). Следующий этап — реализация процедур открытия и закрытия набора дан­ных.

Если в результате выполнения SQL-запроса возвращаются данные, для его выполнения необходимо воспользоваться методом Open класса TQuery. Данный метод следует выполнять при запуске приложения, например в обработчике события OnShow главной формы. При этом происходит выполнение запроса, заданного в свойстве SQL, а результаты его выполнения отображаются в сетке DBGridl.

6. При закрытии приложения следует закрыть и набор данных. Вызовите метод Open в обработчике события OnShow главной формы, а метод Close — в обработ­чике ее же события OnClose,

7. Осталось написать обработчик события OnClick для кнопки Выполнить за­прос. Данная кнопка понадобится в дальнейшем для изменения текста за­проса с последующим выполнением его без перекомпиляции программы.

При щелчке на кнопке должен выполняться запрос. Будем полагать, что в результате выполнения запроса возвращаются данные. В этом случае при щелчке на кнопке следует передать текст запроса из компонента memSQL в свойство SQL компонента Queryl и открыть набор данных, вызвав метод Open компонента Queryl.

8. Откомпилируйте и запустите приложение.

Текст модуля разработанной формы приведен в листинге 11:1.

Листинг 11.1. Главный модуль приложения

unit SQLjnain:

interface

uses

Windows. Messages. SysUtils, Classes. Graphics, Controls. Forms. Dialogs. Grids. DBGrids. Db. StdCtrls. ExtCtrls. DBTables;

type

TfrmMain = class(TForm)

Query1: TQuery:

DataSourcel: TDataSource;

DBGridl: TDBGrid:

memSQL: TMemo;

btnExecSQL: TButton;

procedure FormShowtSender: TObject):

procedure FormClosetSender: TObject;

var Action: TCloseAction); procedure btnExecSQLClick(Sender: TObject): private

{ Private declarations } public

{ Public declarations } end;

var

frmMain: TfrmMain; implementation {$R *.DFM}

procedure TfrmMain.FormShowtSender: TObject); begin

memSQL.Lines.Cl ear;

memSQL.Li nes.Assn gn(Query1.SQL);

Query1.Open; end;

procedure TfrmMain.FormClosetSender: TObject: var Action: TCloseAction): begin

if Queryl.Active then Queryl.Close; end;

procedure TfrmMain.btnExecSQLClicktSender: TObject): begin

if Queryl.Active then Queryl.Close;

Queryl.SQL.Cl ear;

Queryl.SQL.Assi gntmemSQL.Lines):

Queryl.Open: end;

end.

После запуска приложения в компоненте ОВбп'сП на форме отобразится информа­ция, содержащаяся в таблице Товары базы данных sales.mdb (рис. 11.4).

Рис. 11.4. Результат выполнения SQL-запроса

<< | >>
Источник: Избачков Ю. С., Петров В. Н.. Информационные системы. 2006

Еще по теме Пример использования компонентов, работающих с SQL-запросами:

  1. 1. Ожидания и запросы аудитории
  2. Примеры жестокости по отношению к другим (эти примеры более всего относятся к семейной жизни):
  3. Раздел III Использование достижений криминалистической психологии при собирании, оценке, использовании личностной информации
  4. Функциональные компоненты правового сознания.
  5. § 3.1. Основные структурные компоненты организации
  6. Статья 231. Незаконный сбор с целью использования или использование сведений, составляющих коммерческую или банковскую тайну
  7. Участие образных компонентов в мышлении следователя
  8. Основные компоненты.
  9. 54. Основные компоненты социального контроля
  10. Дополнительные компоненты (общие).
  11. Дополнительные компоненты (специальные)
  12. Дополнительные компоненты общие.
  13. Дополнительные компоненты (общие).