Finalise une requête _SQLite_Query(). La requête est interrompue
#include <SQLite.au3>
_SQLite_QueryFinalize ( $hQuery )
$hQuery | Handle de la requête générée par _SQLite_Query() |
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 |
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.
_SQLite_Query, _SQLite_QueryReset
#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