Пример. Пакетная обработка данных

   
На этом шаге мы рассмотрим пример приложения, иллюстрирующего пакетную обработку данных.

   
Приложение имеет следующий вид (рисунок 1) :


Рис. 1. Приложение в работе

   
Приложение позволяет использовать режим пакетной обработки данных. Для этого используется компонент
CheckBox1. При щелчке по этому компоненту включается или отключается режим пакетной обработки.
Обработчик данного события имеет следующий вид:

   procedure TForm1.CheckBox1Click(Sender: TObject);
   Begin
   Datamodule1.ADOTable1.Close;
   if checkBox1.Checked
      then Datamodule1.ADOTable1.LockType:=ltBatchOptimistic
      else Datamodule1.ADOTable1.LockType:=ltOptimistic;
   Datamodule1.ADOTable1.Open;
   Datamodule1.ADOTable1.Filtered:=True;  
   End;

   
Щелчок по кнопке "Показать изменяемые записи" в режиме пакетной обнаботки позволяет отобразить
измененные записи, которые хранятся в локальном кэше. Для этого используется фильтрация, осуществляемая с
помощью свойства FilterGroup компонента ADOTable1.

   procedure TForm1.Button3Click(Sender: TObject);
   Begin
   if checkBox1.Checked
      then Datamodule1.ADOTable1.FilterGroup:=fgPendingRecords;
   End;

   
Щелчок по кнопке "Назад" позволяет отобразить
все имеющиеся записи путем установки свойства FilterGroup компонента ADOTable1 в fgNone.

   procedure TForm1.Button4Click(Sender: TObject);
   Begin
   if checkBox1.Checked
      then Datamodule1.ADOTable1.FilterGroup:=fgNone;
   End;

   
Щелчок по кнопке "Подтвердить" в режиме пакетной обнаботки позволяет подтвердить
сделанные изменения путем отправления измененных записей в базу данных с помощью
метода UpdateBatch.

   procedure TForm1.Button1Click(Sender: TObject);
   Begin
   if checkBox1.Checked
      then Datamodule1.ADOTable1.UpdateBatch();
   End;

   
Щелчок по кнопке "Отмена" в режиме пакетной обработки позволяет отменить
сделанные изменения с помощью метода CancelBatch.

   procedure TForm1.Button2Click(Sender: TObject);
   Begin
   if checkBox1.Checked
      then Datamodule1.ADOTable1.CancelBatch();
   End;

   
Обработчик события OnPostError компонента ADOTable1 позволяет обрабатывать ошибки при
попытке поместить в базу данных неверные данные. Если режим пакетной обработки отключен. И если
попытаться очистить имя или фамилию какого-либо игрока (эти поля обязательно должны содержать данные),
то возникнет иссключение и появится сообщение "Неверный ввод".

   procedure TDataModule1.ADOTable1PostError(DataSet: TDataSet;
          E: EDatabaseError; var Action: TDataAction);
   Begin
   Action:=daAbort;
   ShowMessage('Неверный ввод!!!');
   ADOTable1.Cancel;
   End;

   
Полный текст этого приложения можно взять здесь.
Файлы базы данных, используемой в приложении можно взять здесь.

   



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий