Недавно я столкнулся с проблемами обработки партии данных, когда писал модуль разработки базы данных для хорошего друга.
Я думал о некоторых методах разработки для обработки данных данных, и я не смею наслаждаться специальным резюме и делиться им с вами.
В базе данных прикладных систем часто пакетны данные, такие как добавление, удаление и изменение.
Эта пакетная операция выполняется с соответствующими командами в специальных инструментах разработки базы данных, таких как VFP, используя команды добавления и копирования.
Командные положения могут быть легко завершены. Тем не менее, в других инструментах разработки нет аналогичных команд.
Вместо этого он предоставляет элементы управления или объекты, которые могут выполнять аналогичные функции, например, в PowerBuilder
Используйте линию трубопровода (конвейер данных) для завершения обработки партии данных между двумя или изоморфными или различными таблицами.
В этой статье представлен метод обработки партии с использованием компонентов таймера при использовании Delphi для разработки базы данных.
В разработке Delphi наиболее используемыми методами являются ADO и BDE при использовании Delphi для разработки базы данных.
Таким образом, Борланд потратил большой опыт на компонентах BDE, поэтому существует контроль TBatchMove на обработке партии данных, которая может завершить обработку партии данных.
Конкретная операция должна быть завершена путем установки свойства режима Tbatchmove, а затем вызовом метода выполнения. Помогите с BDE.
Фактические результаты различных режимов эксплуатации в этой статье можно найти на рабочем столе Delphi базы данных
Просматривается в.
Это не в центре внимания этой статьи, поэтому я не буду уточнять в этом.
В центре внимания этой статьи: метод обработки пакетов данных в ADO.
Когда вы получаете эту проблему, общий метод состоит в том, чтобы пройти все данные и вставить петли.
Тем не менее, то, о чем я хочу поговорить здесь, является быстрым, эффективным и рекомендуемым методом обработки партии.
Процедура tform1.formcreate (отправитель: tobject);
вар
MyPath: String;
констант
Mypassw = '****'; /// Пароль базы данных
Начинать
MyPath: = ExtractFilePath (Paramstr (0));
Adoconnection1.connectionString: = 'Provider = microsoft.jet.oledb.4.0; источник данных ='+
MyPath+'db/db.mdb; jet oledb: пароль базы данных ='+
Mypassw+'; infist security info = false';
//////////// Set up the data engine and load the password
AdoConnection1.loginPrompt: = false;
Adoconnection1.conned: = true;
Adotable1.connection: = Adoconnection1;
Adotable1.tablename: = 'tab1';
Adotable2.connection: = AdoConnection1;
Adotable2.tablename: = 'tab2';
пытаться
Adotable2.Open;
Adotable1.open;
DataSource1.dataset: = Adotable1;
Dbgrid1.datasource: = dataSource1;
Dbnavigator1.datasource: = dataSource1;
кроме
MessageBox (0, «не может открыть базу данных», «ошибка», MB_OK);
конец;
////////////////////////////M
Начинать
//////////////////////// Периоративная обработка данных гетерогенных таблиц, которые выполняют управление ошибками
DataSource2.dataset.insert;
Adotable2.fields [0] .asstring: = Adotable1.fields [0] .asstring;
Adotable2.fields [1] .asstring: = Adotable1.fields [1] .asstring;
DataSource1.dataset.next;
Если dataSource1.dataset.eof = true, то Timer1.enabled: = false;
Если dataSource1.dataset.eof = true, то ShowMessage («Данные были успешно импортированы!»);
кроме
MessageBox (0, «Импорт данных не удастся», «Ошибка», MB_OK);
конец;
конец;
DataModule2.DataSource1.DataSet.Next;////////////////////// This sentence is the most critical, that is, a loop statement.
Время вставить запись (время отклика таймера) может быть установлено.
Это функция импорта пакетов данных между гетерогенными таблицами, разработанными характеристиками компонента таймера.dataset.next Атрибут.
Затем аналогичный код может быть реализован для удаления, обновления и других функций (используйте атрибуты данных DataSource для изменения).
Поскольку есть функция запроса, я использую компонент Tadoquery в разработке, примерно тот же метод.
Автор: Viivd
Электронная почта: [email protected]
Дата: 2004.6.5