...
Método de inicialização da classe
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
cTable | Carácter | tabela que será utilizada no processo de bulkinsert | X |
nLimit | Numérico | Quantidade de registro que será utilizado no flush dos dados. Opcional. Default 600 |
Retorno:
Objeto da classe FWBulk
...
Indica para a classe FWBulk quais os campos serão utilizados no processo
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
aFields | Array | Array dos campos, onde {{Campo},{Campo}}. Pode-se enviar como conteúdo o retorno da função dbstruct. | X |
Importante!
A ordem desse array deve ser a mesma dos dados informados no método AddData.
...
Indica o nome da tabela no banco de dados
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
cTable | Carácter | Nome da tabela do banco de dados | X |
...
AddData( aData )
Sintaxe:
FWBulk():AddData( aData )
...
Adiciona dados ao bulk. Caso o limite de dados seja alcançado, também faz o flush dos dados.
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
aData | Array | Array dos dados que serão persistidos no banco de dados, onde {valor,valor} | X |
Importante!
A ordem desse array deve ser a mesma dos dados informados no método SetFields.
...
Troca a variável de controle para permitir ou não o uso do Bulk
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
lSet | Lógico | Se verdadeiro indica que será permitido o uso do bulk | X |
Importante!
Devido o banco de dados SQLite não permitir o bulk, existe uma trava para a utilização no mesmo.
...
Exemplo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
User Function myBulk() Local oBulk as object Local aStruct as array Local nX as numeric aStruct := {} aAdd( aStruct, { 'FIELD1', 'C', 10, 0 } ) aAdd( aStruct, { 'FIELD2', 'N', 10, 2 } ) aAdd( aStruct, { 'FIELD3', 'M', 10, 0 } ) aAdd( aStruct, { 'FIELD4', 'D', 8, 0 } ) aAdd( aStruct, { 'FIELD5', 'L', 1, 0 } ) FWDBCreate( 'BULKTBL', aStruct , 'TOPCONN' , .T.) oBulk := FwBulk():New('BULKTBL',2) oBulk:SetFields(aStruct) For nX := 1 to 5 oBulk:AddData({cValToChar(nX),(nX,nX),cValToChar(nX),Date(),mod(nX,2)==0}) Next oBulk:Close() oBulk:Destroy() oBulk := nil Return |