Тема: Технология ADO в Delphi Вопросы: Характеристика технологии
















35590-ado_v__delphi.ppt
- Количество слайдов: 16
Тема: Технология ADO в Delphi Вопросы: Характеристика технологии ADO Пример приложения ADO Delphi
Характеристика технологии ADO Рис. 18.1. Схема доступа к данным по технологии ADO
Пример приложения ADO Пусть назначением приложения является организация доступа к различным таблицам из базы данных, их редактирование и сохранение внесенных изменений на сервере.
Пример приложения ADO Рис. Вид формы приложения ADO
Пример приложения ADO Компонентами приложения, используемыми для соединения с БД и отображения данных, являются: ADOConnection1, ADODataSet1, DataSource1, DBGrid1. Имеется ряд вспомогательных компонентов, служащих для управления работой приложения. Соединение с хранилищем данных компонента ADODataSet1 выполнено через его свойство Connection, указывающее на имя ADOConnection1 компонента соединения.
Пример приложения ADO Для компонента ADOConnection1 с помощью его свойства ConnectionString установлено соединение с хранилищем данных. При этом использован файл связи с данными. Для наглядности в процедуре обработки события создания формы приведен оператор задания нужного значения свойству ConnectionString компонента ADOConnection1. Для компонента DataSource1 его свойству DataSet установлено значение ADODataSet1. Для компонента DBGrid1, используемого для отображения набора данных, его свойству DataSource установлено значение DataSource1.
Пример приложения ADO unit ADODataSet; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls;
Пример приложения ADO type TForm1 = class(TForm) ADODataSet1: TADODataSet; DataSource1: TDataSource; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; Panel1: TPanel; UpdateButton: TButton; GetTableButton: TButton; Button1: TButton; Edit1: TEdit;
Пример приложения ADO procedure Form1Create(Sender: TObject); procedure Form1CloseQuery(Sender: TObject; var CanClose: Boolean); procedure UpdateButtonClick(Sender: TObject); procedure GetTableButtonClick(Sender: TObject); procedure Button1Click(Sender: TObject); private public procedure UpdateData; end;
Пример приложения ADO var Form1: TForm1; implementation {$R *.dfm} const BaseFileName = 'EMPLOYEE.ADTG'; procedure TForm1.UpdateData; begin { Обновление данных на сервере } ADODataSet1.UpdateBatch; end;
Пример приложения ADO procedure TForm1.Form1Create(Sender: TObject); begin ADOConnection1.ConnectionString := 'FILE NAME=' + DataLinkDir + '\DBDEMOS.UDL'; ADODataSet1.Open; end; procedure TForm1.UpdateButtonClick(Sender: TObject); begin UpdateData; end;
Пример приложения ADO procedure TForm1.Form1CloseQuery(Sender: TObject; var CanClose: Boolean); begin if ADODataSet1.Active then try { Обновление данных на сервере при закрытии формы } UpdateData except on E: Exception do begin Application.HandleException(Self); CanClose := MessageDlg('Данные не сохранены/обновлены, выйти?', mtConfirmation, mbYesNoCancel, 0) = mrYes; end; end; end;
Пример приложения ADO procedure TForm1.GetTableButtonClick(Sender: TObject); begin { Повторное открытие табличного набора данных 'Country'} ADODataSet1.Close; ADODataSet1.CommandType := cmdTable; ADODataSet1.CommandText := 'Country'; ADODataSet1.Open; end;
Пример приложения ADO procedure TForm1.Button1Click(Sender: TObject); begin ADODataSet1.Close; ADODataSet1.CommandType := cmdTable; ADODataSet1.CommandText := Edit1.Text; try ADODataSet1.Open;
Пример приложения ADO except on E: Exception do begin MessageDlg('Исправьте имя таблицы', mtError,[mbOK],0); ADODataSet1.Close; end; end; end; end.
Пример приложения ADO Первоначально при запуске приложения автоматически открывается таблица с именем 'Country'. При необходимости открыть другую таблицу для просмотра и редактирования ее имя следует ввести в однострочном редакторе (компонент Edit1) и затем нажать кнопку с заголовком Открыть таблицу с именем. Обновление внесенных в открытую таблицу изменений происходит при нажатии на кнопку с заголовком Сохранить на сервере или автоматически при закрытии формы приложения.

