Главная » Delphi » Компоненты для работы с наборами данных BDE

0

Вкладка  ADO палитры компонентов содержит три  компонента, которые предна значены исключительно для упрощения преобразования приложений BDE в прило жения ADO: TADOTable, TADOQuery и TADOStoredProc. Для  реализации функций этих  компонентов при  разработке приложений ADO вполне достаточно одного  ком понента TADODataSet. Тем  не  менее, при  желании можно  использовать и эти  аль тернативные компоненты, аналогичные их предшественникам BDE TTable, TQuery и TStoredProc.

Класс TADOTable

Класс TADOTable является прямым производным от класса  TCustomADODataSet и позволяет работать с одной из таблиц базы данных. Его свойства очень похожи на свой ства компонента BDE TTable. Фактически TADOTable обладает дополнительным свой ством TableName. Основным преимуществом табличного типа набора данных  является то,  что  они  поддерживают индексы. Индексы позволяют очень  быстро осуществлять сортировку и поиск.  Это особенно актуально для баз данных, отличных от SQL, напри мер для Microsoft Access. Но при  использовании баз данных  SQL сортировку, фильтра цию  и  другие  подобные операции лучше  выполнять при  помощи операторов языка SQL. Дополнительную информацию о наборах данных  табличного типа можно  найти в интерактивной справочной системе Delphi в разделе “Overview of ADO components”.

CОВЕТ

Согласно справочной системе Delphi, одним из преимуществ наборов данных таблич- ного типа является простота очистки таблиц. При этом в качестве примера использу- ется вызов метода TCustomADODataSet.DeleteRecords(). Тем не менее, это не работает в случае использования объекта ADO RecordSet. Вызов метода DeleteRe- cords() приводит к возникновению исключения, хотя вызов такого метода, как TCus- tomADODataSet.Supports([coDelete]), возвращает значение True. Поэтому для очистки таблиц лучше использовать оператор вида DELETE FROM TableName или удалять каждую запись поочередно.

Пример использования компонента TADOTable с индексом находится на  прила гаемом  компакт диске  в каталоге ADOTableIndex. Кроме  того,  в приведенном ниже примере демонстрируется использование функции TADOTable.Locate() для поиска информации в таблице. Фрагмент исходного кода этого  примера представлен в лис тинге  9.2.

Листинг 9.2. Использование компонента TADOTable

procedure TForm1.FormCreate(Sender: TObject);

var

i: integer;

begin

adotblCustomer.Open;

for i := 0 to adotblCustomer.FieldCount – 1 do

ListBox1.Items.Add(adotblCustomer.Fields[i].FieldName);

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

adotblCustomer.IndexFieldNames :=

ListBox1.Items[ListBox1.ItemIndex];

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

adotblCustomer.Locate(‘Company’, Edit1.Text, [loPartialKey]);

end;

В обработчике события FormCreate() открывается таблица и список  TListBox

заполняется названиями полей  этой  таблицы. Затем  в обработчике события TList-Box.OnClick в свойстве TADOTable.IndexFieldName указывается название поля, по которому необходимо отсортировать записи.

Наконец, в  обработчике события Button1Click() выполняется поиск  данных при помощи метода Locate().

Компонент TADOTable полезен для тех, кто привык работать с компонентом TTa- ble. Но при  работе с SQL серверами более  эффективно применение компонентов TADODataSet и TADOQuery.

Компонент TADOQuery

Класс  TADOQuery также  является производным от  класса  TCustomADODataSet и очень  похож  на класс TADODataSet. У него  есть  свойство SQL, которому можно  при сваивать операторы SQL. В компонентах TADODataSet для назначения операторов SQL используется свойство CommandText, когда свойство TADODataSet.CommandType име ет значение cmdText.

Не  будем рассматривать компонент TADOQuery подробно, так  как  большинство его возможностей реализовано в классе TADODataSet.

Компонент TADOStoredProc

Компоненты  типа   TADOStoredProc предназначены  для  работы  с  хранимыми процедурами. Он полностью аналогичен компоненту TADOCommand, у которого свой ство CommandType имеет  значение cmdStoredProc. Этот компонент очень  похож  на компонент TStoredProc, который рассматривается в главе  29, “Разработка клиент серверных приложений”, предыдущего издания Delphi 5 Руководство разработчика, на ходящегося на прилагаемом CD.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии