UDF > SQLite >


_SQLite_Exec

Exécute une requête SQLite mais ne gère pas les résultats

#include <SQLite.au3>
_SQLite_Exec ( $hDB, $sSQL [, $sCallBack = ""] )

Paramètres

$hDB Une base de données ouverte, utilisez -1 pour utiliser la dernière base de données ouverte
$sSQL Instruction SQL qui doit être exécutée
$sCallback [optionnel] Si spécifié, la fonction sera appelée pour chaque ligne

Valeur de retour

Succès: Retourne $SQLITE_OK.
Échec: Retourne une valeur qui peut être comparée aux constantes $SQLITE_*.
@error: -1 - SQLite a signalé une erreur (Examinez la valeur de retour)
1 - Erreur dans l'appel de l'API SQLite 'sqlite3_exec'
2 - Appel empêché par SafeMode
3 - Erreur de traitement Callback à partir de l'intérieur de _SQLite_GetTable2d()
4 - Erreur lors de la conversion de l'instruction SQL en UTF-8

Remarque

La fonction de rappel doit accepter 1 paramètre et peut retourner $SQLITE_ABORT pour arrêter le traitement (voir Exemple).
La première ligne de la séquence de rappel sera les noms des colonnes.

En relation

_SQLite_GetTable, _SQLite_GetTable2d, _SQLite_Query

Exemple

#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open()
; Sans $sCallback l'instruction donne moins de résultat
_SQLite_Exec(-1, "Create table tblTest (a,b int,c single not null); " & _
        "Insert into tblTest values ('1',2,3); " & _
        "Insert into tblTest values (Null,5,6); ")

Local $d = _SQLite_Exec(-1, "Select rowid,* From tblTest", "_cb") ; _cb sera appelée pour chaque ligne

Func _cb($aRow)
    For $s In $aRow
        ConsoleWrite($s & @TAB)
    Next
    ConsoleWrite(@CRLF)
    ; Retourne $SQLITE_ABORT ; Annulerait le processus et déclencherait @error dans _SQLite_Exec()
EndFunc   ;==>_cb
_SQLite_Close()
_SQLite_Shutdown()

; Sortie:
; 1     1   2   3
; 2         5   6