Árvore de páginas

Permite a abertura de uma query diretamente no banco de dados, trazendo os resultados em um array.

Sintaxe
TCSqlToArr( < cQuery >, < aResult >, [ aBinds ], [ aSetFields ], [ aQryStru ] )
Parâmetros
NomeTipoDescriçãoObrigatórioReferência
cQuerycaractereString contendo a query a ser executada.X
aResultvetorArray multi-dimensional vazio, informado por referencia, onde serão alimentados os resultados.X
aBindsvetorArray opcional, com os valores para bind na query original -- somente deve ser informado caso a query utilize marcadores de parâmetro "?"

aSetFieldsvetorArray multi-dimensional opcional, com os valores dos campos de tratamento de tipo diferenciado de retorno -- equivalente ao uso da função TCSetField() após abrir uma Query.

aQryStruvetorArray multi-dimensional opcional, para ser alimentado com a estrutura de campos retornada pela query -- equivalente ao uso da função DbStruct() em um alias de Query.

Retorno
NomeTipoDescrição
nRetnumérico0 (zero) em caso de sucesso, ou um numero negativo em caso de falha. Detalhes da falha podem ser obtidos com a função TCSqlError().
Observações

Atenção

Esta função está disponivel em builds de Totvs Application Server iguais ou superiores a 20.3.1.0, e requer um DBACcess atualizado, com build igual ou superior a 22.1.1.0

Exemplos
USER FUNCTION TEST()
Local cQuery := "SELECT R_E_C_N_O_ AS RECNO, A1_ULTVIS FROM SA1010 WHERE A1_FILIAL = ? AND A1_COD = ? AND A1_LOJA = ? ORDER BY 1"
Local aReturn := {}
Local aBinds := {}
Local aSetFields := {}

aadd(aBinds,"01") // Filial
aadd(aBinds,"000001") // Codigo
aadd(aBinds,"1") // Loja

// Ajustes de tratamento de retorno
aadd(aSetFields,{"RECNO","N",16,0})
aadd(aSetFields,{"A1_ULTVIS","D",8,0})

nRet := TCSqlToArr(cQuery,@aReturn,aBinds,aSetFields)

If nRet < 0
  MSgStop(tcsqlerror(),"Falha ao executar a Query")
Else
  VarInfo("aReturn",aReturn)
  MsgInfo("Verifique os valores retornados no console","Ok")
Endif

RETURN
Veja também
  • Sem rótulos