Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Método de inicialização da classe

Parâmetros:

NomeTipoDescriçãoObrigatório
cTableCaráctertabela que será utilizada no processo de bulkinsertX
nLimitNuméricoQuantidade 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:

NomeTipoDescriçãoObrigató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:

NomeTipoDescriçãoObrigatório
cTable CarácterNome da tabela do banco de dadosX

...

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:

NomeTipoDescriçãoObrigatório
aDataArray 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:

NomeTipoDescriçãoObrigatório
lSet LógicoSe verdadeiro indica que será permitido o uso do bulkX

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
languagejavajs
themeRDark
titleExemplo
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