В состав ADO-компонентов входят 4 компонента-набора: TADODataSet, TADOTable, TADOTable и TADOStoredProc. Как и аналогичные BDE‑компоненты, они имеют общего родителя — абстрактный класс TDataSet, и, следовательно, большую часть своих методов, свойств и событий они унаследовали от этого класса, разделяя, таким образом, их со своими BDE‑аналогами (рисунок 10.15).
TComponent
TDataSet
TCastomADODataSet TBDEDataSet
TDBDataSet
ADO-наборы BDE-наборы
Рисунок 10.15 - Фрагмент иерархии наследования ADO и BDE компонентов-наборов
Например, для доступа к данным ADO-компоненты используют те же свойства, что и BDE-компоненты. Следующие операторы аналогичны по функциональности (предполагается, что поле Company — второе по счету в массиве Fields и для него создан объект ADOTable1Company):
Caption := ADOTable1.FieldValues['Company'];
Caption := ADOTable1['Company'];
Caption := ADOTable1.FieldByName('Company').AsString;
Caption := ADOTable1.Fields[1].Value;
Caption := ADOTable1Company.AsString;
Примечание. Понятно, что к моменту использования этих операторов компонент ADOTable1 должен быть связан через провайдер с физической таблицей БД и открыт.
Модификация данных и навигация по ним также не отличаются от описанных ранее для BDE-компонент:
ADOTable1.Edit;
ADOTable1Company.Value: = 'Новая компания';
ADOTable1.Post;
Или:
ADOTable1.Open;
while notADOTable1.EOF do begin
…
ADOTable1.Next
end;
ADO-наборы, так же как BDE- наборы, визуализируют данные через компоненты-посредники TDataSource и компоненты вкладки Data Controls палитры компонентов Delphi.