Recentemente, encontrei problemas de processamento em lote de dados quando estava escrevendo um módulo de desenvolvimento de banco de dados para um bom amigo.
Pensei em alguns métodos de desenvolvimento para o processamento em lote de dados e não ouso desfrutar de um resumo especial e compartilhá -lo com você.
Nos sistemas de aplicativos de banco de dados, os dados são frequentemente em lotes, como anexar, excluir e alterar.
Esta operação em lote é transportada com os comandos correspondentes em ferramentas especiais de desenvolvimento de banco de dados, como o VFP, usando os comandos Apêndos e Copiar.
As cláusulas de comando podem ser facilmente concluídas. No entanto, não há comandos semelhantes em outras ferramentas de desenvolvimento.
Em vez disso, fornece controles ou objetos que podem concluir funções semelhantes, como no PowerBuilder
Use a linha do tubo (pipeline de dados) para concluir o processamento em lote de dados entre duas tabelas isomórficas ou diferentes.
Este artigo apresenta o método de processamento em lote usando componentes do timer ao usar o Delphi para o desenvolvimento do banco de dados.
No desenvolvimento da Delphi, os métodos mais utilizados são ADO e BDE ao usar o Delphi para o desenvolvimento do banco de dados.
Portanto, Borland gastou muita experiência em componentes do BDE, portanto, há um controle do TBATCHMOVE no processamento em lote de dados que pode preencher o processamento em lote de dados.
A operação específica deve ser concluída definindo a propriedade MODE do tbatchmove e chamando o método Execute. Ajuda com o BDE.
Os resultados reais de vários modos operacionais neste artigo podem ser encontrados no desktop de banco de dados da Delphi
Visto em.
Este não é o foco deste artigo, por isso não vou elaborar isso.
O foco deste artigo é: Método de Processamento de Dados em lote em ADO.
Quando você obtém esse problema, o método geral é atravessar todos os dados e inserir loops de TI.
No entanto, o que quero falar aqui é um método de processamento em lote rápido, eficiente e recomendado.
Procedimento TForm1.FormCreate (remetente: Tobject);
var
Mypath: string;
const
Mypassw = '****';
Começar
MyPath: = ExtractFilePath (Paramstr (0));
Adoconnection1.connectionString: = 'provedor = microsoft.jet.oledb.4.0; fonte de dados ='+
Mypath+'db/db.mdb; jet oledb: database senha ='+
Mypassw+'; persistir informações de segurança = false';
//////////// Configure o mecanismo de dados e carregue a senha
Adoconnection1.logInprompt: = false;
Adoconnection1.connected: = true;
ADotable1.Connection: = Adoconnection1;
ADotable1.tableName: = 'Tab1';
ADotable2.Connection: = Adoconnection1;
ADOTABLE2.TABLENAME: = 'Tab2';
tentar
ADOTABLE2.OPEN;
ADOTABLE1.OPEN;
DataSource1.DataSet: = ADotable1;
DbGrid1.DataSource: = DataSource1;
Dbnavigator1.dataSource: = DataSource1;
exceto
MessageBox (0, 'não é possível abrir o banco de dados', 'erro', mb_ok);
fim;
/////////////////// loop de controle de controle do temporizador
Começar
//////////////////////Ticche de dados de dados de tabelas heterogêneas que executam controle de erros
DataSource2.dataset.insert;
ADOTABLE2.FIELDS [0] .ASSTRING: = ADOTABLE1.FIELDS [0] .ASSTRING;
ADOTABLE2.FIELDS [1] .ASSTRING: = ADOTABLE1.FIELDS [1] .ASSTRING;
DataSource1.dataset.next;
se DataSource1.dataset.eof = true the timer1.enabled: = false;
Se DataSource1.dataset.eof = true Thom ShowMessage ('os dados foram importados com sucesso!');
exceto
MessageBox (0, 'Data Import falhou', 'Error', MB_OK);
fim;
fim;
Datamodule2.datasource1.dataset.next; ///////////////////// Esta frase é a mais crítica, ou seja, uma instrução loop.
O tempo para inserir um registro (tempo de resposta do timer) pode ser definido.
Esta é a função de importação em lote dos dados entre tabelas heterogêneas projetadas pelas características do componente do timer.dataSet.next Atributo.
Em seguida, o código semelhante pode ser implementado para exclusão, atualização e outras funções (use atributos do DataSource para modificar).
Como há função de consulta, eu uso o componente TadoQuery no desenvolvimento, aproximadamente o mesmo método.
Autor: Viivd
E-mail: [email protected]
Data: 2004.6.5