Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VP_LAB_BD_DELPHI_RUS.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.93 Mб
Скачать

6.3.3. Метод для работы с данных двух таблиц

С помощью метода ButtonIClick надо:

1) в соответствии со значением свойства RadioGroup1.ItemIndex определить выбран­ный вариант обработки данных:

- для RadioGroup1 .ItemIndex = 0 - слияние данных двух таблиц,

- для RadioGroup1.ItemIndex = 1 - удаление из набора данных таблицы-приемника (Table1) записей, ключи которых совпадают с ключами записей таблицы-источника;

2) для каждого выбранного варианта:

- установить соответствующее значение свойства BatchMove1 .Mode,

- определить количество записей в таблице-приемнике BatchMove1 .RecordCount;

3) вывести полученное значение количества на метку;

4) запустить приложение и проверить процесс объединения таблиц методом BatchMove1.Execute;

Листинг 6.6. Текстмодуля основной формы приложения для работы с данными двух таблиц

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, DB, DBTables, Grids, DBGrids, StdCtrls, XPMan;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

DataSource2: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Table2: TTable;

Query1: TQuery;

BatchMove1: TBatchMove;

RadioGroup1: TRadioGroup;

Button1: TButton;

Label1: TLabel;

Label3: TLabel;

XPManifest1: TXPManifest;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0:begin

BatchMove1.Mode:=batAppend;

BatchMove1.RecordCount:=Table1.RecordCount+Table2.RecordCount;

end;

1:begin

BatchMove1.Mode:=batDelete;

BatchMove1.RecordCount:=Table1.RecordCount-Table2.RecordCount;

end;

end;

Label3.Caption:='Количество записей = ' +Inttostr(BatchMove1.RecordCount);

BatchMove1.Execute;

end; end.

6.3.4. Контрольныевопросы

1 Как настроить компонент RadioGroup1 для выбора одного из вариантов работы приложения?

2 Назовите назначение основных свойств компонента BatchMove.

3 Как определить результирующее количество записей таблицы-приемника?

4 Как запустить компонент BatchMove на выполнение заданного варианта обработ­ки данных таблиц?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]