Recientemente, encontré problemas de procesamiento por lotes de datos cuando estaba escribiendo un módulo de desarrollo de la base de datos para un buen amigo.
He pensado en algunos métodos de desarrollo para el procesamiento por lotes de datos, y no me atrevo a disfrutar de un resumen especial y compartirlo con usted.
En los sistemas de aplicaciones de bases de datos, los datos a menudo se agrupan, como agregar, eliminar y cambiar.
Esta operación por lotes se lleva a cabo con los comandos correspondientes en herramientas de desarrollo de bases de datos especiales, como VFP, utilizando los comandos de append y copia.
Las cláusulas de comando se pueden completar fácilmente. Sin embargo, no hay comandos similares en otras herramientas de desarrollo.
En cambio, proporciona controles u objetos que pueden completar funciones similares, como en PowerBuilder
Use la tubería (tubería de datos) para completar el procesamiento por lotes de datos entre dos o tablas isomórficas o de diferentes construcciones.
Este artículo presenta el método de procesamiento por lotes utilizando componentes del temporizador cuando se usa Delphi para el desarrollo de la base de datos.
En el desarrollo de Delphi, los métodos más utilizados son ADO y BDE cuando se usa Delphi para el desarrollo de la base de datos.
Por lo tanto, Borland gastó mucha experiencia en los componentes BDE, por lo que hay un control de TbatchMove en el procesamiento de lotes de datos que puede completar el procesamiento por lotes de datos.
La operación específica debe completarse configurando la propiedad de modo de tbatchmove y luego llamando al método de ejecución. Ayuda con BDE.
Los resultados reales de varios modos operativos en este artículo se pueden encontrar en el escritorio de la base de datos de Delphi
Visto en.
Este no es el foco de este artículo, por lo que no explicaré esto.
El enfoque de este artículo es: Método de datos de procesamiento por lotes en ADO.
Cuando obtiene este problema, el método general es atravesar todos los datos e insertar It Loops.
Sin embargo, lo que quiero hablar aquí es un método de procesamiento por lotes rápido, eficiente y recomendado.
Procedimiento tForm1.FormCreate (remitente: tobject);
varilla
Mypath: cadena;
estúpido
Mypassw = '****';
Comenzar
MyPath: = ExtractFilePath (Paramstr (0));
Adoconnection1.ConnectionString: = 'Provider = Microsoft.Jet.OLEDB.4.0; Data Source ='+
Mypath+'db/db.mdb; jet oledb: base de datos contraseña ='+
Mypassw+'; persisting seguridad información = false';
/////////// Configure el motor de datos y cargue la contraseña
Adoconnection1.loginprompt: = false;
Adoconnection1.connected: = true;
Adotable1.connection: = adoconnection1;
Adotable1.tableName: = 'tab1';
Adotable2.connection: = adoconnection1;
Adotable2.tableName: = 'tab2';
intentar
Adotable2.open;
Adotable1.apor;
DataSource1.dataSet: = adotable1;
Dbgrid1.dataSource: = dataSource1;
Dbnavigator1.dataSource: = dataSource1;
excepto
MessageBox (0, 'No se puede abrir la base de datos', 'Error', mb_ok);
fin;
///////////////// bucle de control de control del temporizador
Comenzar
////////////////// Procesamiento de datos por lotes de tablas heterogéneas que realizan control de errores
DataSource2.dataset.insert;
Adotable2.fields [0] .string: = adotable1.fields [0] .Asstring;
Adotable2.fields [1] .string: = adotable1.fields [1] .Asstring;
DataSource1.dataset.next;
if dataSource1.dataset.eof = true entonces Timer1.enabled: = false;
si dataSource1.dataset.eof = true entonces showMessage ('¡los datos se importaron con éxito!');
excepto
MessageBox (0, 'Fallado de importación de datos', 'Error', MB_OK);
fin;
fin;
DatAmodule2.datasource1.dataset.next; //////////////////// Esta oración es la declaración más crítica, es decir, una declaración de bucle.
Se puede establecer el tiempo para insertar un registro (tiempo de respuesta del temporizador).
Esta es la función de importación por lotes de los datos entre las tablas heterogéneas diseñadas por las características del componente del temporizador.
Luego, se puede implementar un código similar para la eliminación, la actualización y otras funciones (use los atributos de DataSource para modificar).
Debido a que hay una función de consulta, uso el componente tadoQuery en el desarrollo, aproximadamente el mismo método.
Autor: viivd
Correo electrónico: [email protected]
Fecha: 2004.6.5