UDF > SQLite >


_SQLite_QueryFinalize

Finalise une requête _SQLite_Query(). La requête est interrompue

#include <SQLite.au3>
_SQLite_QueryFinalize ( $hQuery )

Paramètre

$hQuery Handle de la requête générée par _SQLite_Query()

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_finalize'
 2 - Appel empêché par SafeMode

Remarques

La fonction _SQLite_QueryFinalize() est appelée pour supprimer une instruction SQL obtenue par un appel précédent à _SQLite_Query(). Si la déclaration a été exécutée avec succès, ou non exécutée du tout, alors $SQLITE_OK est retourné. Si l'exécution de l'instruction a échoué alors un code d'erreur est retourné.

Toutes les instructions préparées doivent être finalisées avant d'appeler _SQLite_Close() ou sinon l'appel échouera avec un code de retour $SQLITE_BUSY.

En relation

_SQLite_Query, _SQLite_QueryReset

Exemple

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

Local $hQuery, $aRow, $aNames
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; Ouvre une base de données :memory:
_SQLite_Exec(-1, "CREATE TABLE aTest (A,B,C); ")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','World'); ")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' '); ")
_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hello'); ")
_SQLite_Query(-1, "SELECT ROWID,* FROM aTest ORDER BY a; ", $hQuery)
_SQLite_FetchNames($hQuery, $aNames) ; Lit Tablenames
MsgBox($MB_SYSTEMMODAL, "SQLite", "Row ID is : " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK ; Ceci obtient une ligne à la fois
    MsgBox($MB_SYSTEMMODAL, "SQLite", "Get Data using FetchData : " & StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
    _SQLite_QueryFinalize($hQuery) ; Ceci arrêtera le requête, en obtenant plus de lignes
WEnd
_SQLite_Exec(-1, "DROP TABLE aTest; ")
_SQLite_Close()
_SQLite_Shutdown()

; Résultat:
; rowid       A           B           C
; 3           a           1           Hello