Sintaxe
bRet := DBSqlExec( cAlias, cQuery, cDriver )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cAlias | Caracter | O Alias que vai apontar para a área de dados resultante da execução da query. | X | Se a query for de inserção, remoção ou atualização, cAlias é ignorado. Portanto, neste caso, poderia ser passado como uma string vazia (""). | |
cQuery | Caracter | A query que será executada no banco.
| X | ||
cDriver | Caracter | O RDD que tem as tabelas envolvidas na query.
| X | No momento, apenas o driver SQLite utiliza essa função. Portanto, deve-se utilizar: SQLITE_SYS, SQLITE_TMP ou SQLITE_MEM. |
Retorno
Nome | Tipo | Descrição | Observações |
---|---|---|---|
Observações
Exemplos
Exemplo
// Este exemplo mostra execução de query no driver SQLite.
User Function exemplo()
Local _aStruct
// conecta no ambiente Protheus (Empresa e Filial hipotéticos)
PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' MODULO 'FAT'
// Seleciona a tabela SA1
DBSelectArea("SA1")
// Pega a estrutura da tabela SA1
_aStruct := DBStruct()
// Cria uma tabela no SQLITE, com a mesma estrutura do SA1
DBCreate( 'mySA1', _aStruct, 'SQLITE_SYS' )
// Coloca a tabela mySA1 em uso
DBUseArea( .T., 'SQLITE_SYS', 'mySA1', 'DEST', .F., .F. )
// Faz a cópia da tabela SA1 para mySA1
if DBTableCopy('SA1', 'DEST')
Alert("Tabela copiada com sucesso.")
else
Alert("Tabela nao foi copiada.")
endif
// ############################################################
// Faz a query na tabela mySA1 (SQLite)
// ############################################################
if DBSqlExec('TRAB', 'SELECT A1_NOME FROM mySA1')
while ! TRAB->(EOF())
conout(TRAB->A1_NOME)
TRAB->(DbSkip())
end
else
Alert("A query não foi realizada.")
endif
return