Descrição
dbSqlExec [AS] - Esta função faz execução de query no driver SQLite...
|
Sintaxe
| dbSqlExec( <cAlias>, <cQuery>, <cDriver> ) |
Parâmetros
| Par |
Nome |
Tipo |
Descrição |
Default |
Obg |
Ref |
01
|
cAlias
|
Caracter
|
O Alias que vai apontar para a área de dados resultante da execução da query
Se a query for de inserção, remoção ou atualização, cAlias é ignorado. Portanto, neste caso, poderia ser passado como uma string vazia ("").
|
|
|
|
| 02 |
cQuery
|
Caracter
|
A query que será executada no banco
A query deve estar dentro dos padrões de sintaxe aceitos pelo SQLite
|
|
|
|
| 03 |
cDriver
|
Caracter
|
O RDD que tem as tabelas envolvidas na query.
No momento, apenas o driver SQLite utiliza essa função. Portanto, deve-se utilizar: SQLITE_SYS, SQLITE_TMP ou SQLITE_MEM
|
|
|
|
Retorno
| Retorno |
Tipo |
Descrição |
| lRet |
Boolean
|
Se a query foi executada com sucesso, o retorno é Verdadeiro. Caso contrário. o retorno é Falso
|
Exemplo
#INCLUDE "TOTVS.CH"
User Function dbSqlExec()
dbCreate( 'UASA1', SA1->( dbStruct() ), 'SQLITE_SYS' )
dbUseArea( .T., 'SQLITE_SYS', 'UASA1', 'SA1TMP', .F., .F. )
If dbTblCopy('SA1', 'SA1TMP')
MsgInfo("Tabela copiada com sucesso.", 'UniversoADVPL')
Else
MsgInfo("Tabela não foi copiada.", 'UniversoADVPL')
Endif
If dbSqlExec('TRB', 'SELECT A1_NOME FROM UASA1', 'SQLITE_SYS')
Do While TRB->( !EOF() )
Conout( TRB->A1_NOME )
TRB->( dbSkip() )
EndDo
Else
MsgInfo("Query não foi realizada.", 'UniversoADVPL')
Endif
Return( Nil )
Resultado
Informações adicionais
|
Esta função, atualmente, responde somente aos seguintes drivers: SQLITE_SYS, SQLITE_TMP e SQLITE_MEM.
Esta função está disponível a partir do Protheus 12
|
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎