Retourne le ROWID de la plus récente insertion dans la base de données par cette connexion
#include <SQLite.au3>
_SQLite_LastInsertRowID ( [$hDB = -1] )
$hDB | [optionnel] Une base de données ouverte ou -1 pour utiliser la dernière base de données ouverte |
Succès: | Retourne ROWID. |
Échec: | Retourne 0. |
@error: | 1 - Erreur dans l'appel de l'API SQLite 'sqlite3_last_insert_rowid' 2 - Appel empêché par SafeMode |
#include <Array.au3> #include <MsgBoxConstants.au3> #include <SQLite.au3> #include <SQLite.dll.au3> Local $aResult, $iRows, $iColumns, $iRval _SQLite_Startup() If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite.dll Can't be Loaded!") Exit -1 EndIf ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF) _SQLite_Open() ; Ouvre une base de données :memory: If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't Load Database!") Exit -1 EndIf ; Exemple de table ; Nom | Âge ; ----------------------- ; Alice | 43 ; Bob | 28 ; Cindy | 21 ; _SQLite_Exec() et _SQLite_Execute() sont assez semblables If Not _SQLite_Exec(-1, "CREATE TEMP TABLE persons (Name, Age);") = $SQLITE_OK Then _ MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg()) If Not _SQLite_Exec(-1, "INSERT INTO persons VALUES ('Alice','43');") = $SQLITE_OK Then _ MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg()) If Not _SQLite_Exec(-1, "INSERT INTO persons VALUES ('Bob','28');") = $SQLITE_OK Then _ MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg()) If Not _SQLite_Exec(-1, "INSERT INTO persons VALUES ('Cindy','21');") = $SQLITE_OK Then _ MsgBox($MB_SYSTEMMODAL, "SQLite Error", _SQLite_ErrMsg()) ; _SQLite_LastInsertRowID() nous dit 'ligne Cindy' MsgBox($MB_SYSTEMMODAL, "_SQLite_LastInsertRowID()", _SQLite_LastInsertRowID()) ; Query $iRval = _SQLite_GetTable(-1, "SELECT * FROM persons;", $aResult, $iRows, $iColumns) If $iRval = $SQLITE_OK Then ; $aResult ressemble à ceci: ; [0] = 8 ; [1] = Nom ; [2] = Age ; [3] = Alice ; [4] = 43 ; [5] = Bob ; [6] = 28 ; [7] = Cindy ; [8] = 21 _ArrayDisplay($aResult, "Query Result") Else MsgBox($MB_SYSTEMMODAL, "SQLite Error: " & $iRval, _SQLite_ErrMsg()) EndIf _SQLite_Close() _SQLite_Shutdown()