Retourne dans une variable de sortie un tableau � une dimension contenant les noms des tables et la requ�te ex�cut�e
#include <SQLite.au3>
_SQLite_GetTable ( $hDB, $sSQL, ByRef $aResult, ByRef $iRows, ByRef $iColumns [, $iCharSize = -1] )
$hDB | Une base de donn�es ouverte, utilisez -1 pour utiliser la base de donn�es de la derni�re ouverture |
$sSQL | Instruction SQL qui doit �tre ex�cut�e |
$aResult | variable de sortie qui contiendra le r�sultat |
$iRows | variable de sortie qui contiendra le nombre de lignes de donn�es |
$iColumns | variable de sortie qui contiendra le nombre de colonnes |
$iCharSize | [optionnel] Sp�cifie la taille maximale d'un champ de donn�es |
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 - Appel Emp�ch� par SafeMode 2 - Erreur retourn�e par _SQLite_Query() dans @extended 3 - Erreur retourn�e par _SQLite_FetchNames() dans @extended 4 - Erreur retourn�e par _SQLite_FetchData() dans @extended |
Le nombre de valeurs ins�r�es dans $aResult sera (($iRows) + 1) * ($iColumns), ce nombre est ins�r� dans $aResult[0].
NULL sera retourn� par la valeur num�rique 0.
Si vous n'avez pas besoin d'un r�sultat (ou si il n'y en aura aucun) envisager d'utiliser _SQLite_Exec().
_SQLite_Exec, _SQLite_GetTable2d, _SQLite_Query
#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 ; Name | Age ; ----------------------- ; Alice | 43 ; Bob | 28 ; Cindy | 21 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()) ; Query $iRval = _SQLite_GetTable(-1, "SELECT * FROM persons; ", $aResult, $iRows, $iColumns) If $iRval = $SQLITE_OK Then ; $aResult apparait comme ceci: ; [0] = 8 ; [1] = Name ; [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()