
- •Лабораторная работа №6 (8 часов) Работа с локальными базами данных и несвязанными таблицами
- •6.1. Приложение для работы с локальной базой данных
- •6.1.1. Цель работы
- •6.1.2. Задание на выполнение работы
- •6.1.3. Процесс разработки приложения
- •6.1.4. Создание псевдонима базы данных
- •6.1.5. Разработка структуры записи таблицы базы данных
- •6.1.6. Разработка основной формы и ее компонентов для работы с бд
- •6.1.6.1. Размещение и настройка основных компонентов
- •6.1.6.2. Размещение и настройка панелей
- •6.1.6.3. Настройка компонента dbGrid1
- •6.1.6.4. Формирование вычисляемого поля
- •6.1.6.5. Дополнение формы окнами из редактора полей таблицы
- •6.1.7. Формирование основного меню
- •6.1.8. Методы подменю Показать данные
- •6.1.9. Методы для сортировки данных
- •6.1.10. Методы для поиска данных
- •6.1.11. Выполнение команд подменю ‘Вычислить:’
- •6.1.12. Метод команды меню Трафик' и настройка графика
- •6.1.13. Выполнение команд подменю Отчет
- •6.1.13.1. Формирование отчета
- •6.1.13.2. Методы подменю Отчет
- •6.1.14. Листинги примера проекта
- •6.1.15. Варианты заданий на работу с локальными базами данных
- •6.1.16. Контрольные вопросы
- •6.2. Приложение для соединения данных двух таблиц 1:1
- •6.2.1. Цель и задание на выполнение работы
- •6.2.2. Процесс разработки приложения
- •1) Установка русификатора для работы с таблицами типа Paradox7;
- •6.2.4. Контрольные вопросы
- •6.3. Приложение для формирования, слияния и разъединения однотипных таблиц баз данных
- •6.3.1. Цель и задание на выполнение работы
- •6.3.2. Процесс разработки приложения
- •6.3.3. Метод для работы с данных двух таблиц
- •6.3.4. Контрольныевопросы
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 на выполнение заданного варианта обработки данных таблиц?