UDF > SQLite >


_SQLite_FetchData

Retourne dans une variable de sortie une ligne de données relative à une requête _SQLite_Query()

#include <SQLite.au3>
_SQLite_FetchData ( $hQuery, ByRef $aRow [, $bBinary = False [, $bDoNotFinalize = False [, $iColumns = 0]]] )

Paramètres

$hQuery Handle Query retourné par _SQLite_Query()
$aRow Un tableau à 1 dimension contenant une ligne de données
$bBinary [optionnel] Commute en mode binaire ($aRow sera un tableau de chaînes binaires)
$bDoNotFinalize [optionnel] Peut être défini à True si vous avez besoin de garder la requête non finalisé pour une utilisation ultérieure.
(Il est alors de la responsabilité de l'appelant d'invoquer _SQLite_QueryFinalize() avant de fermer la base de données.)
$iColumns [optionnel] Nombre de colonnes à retourner (par défaut, toutes)

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_step'
2 - Erreur dans l'appel de l'API SQLite 'sqlite3_data_count'
3 - Erreur dans l'appel de l'API SQLite 'sqlite3_column_text16'
4 - Erreur dans l'appel de l'API SQLite 'sqlite3_column_type'
5 - Erreur dans l'appel de l'API SQLite 'sqlite3_column_bytes'
6 - Erreur dans l'appel de l'API SQLite 'sqlite3_column_blob'
7 - Appel empêché par SafeMode

En relation

_SQLite_Query, _SQLite_QueryFinalize

Exemple

#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)
ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData($hQuery, $aRow, False, False) = $SQLITE_OK ; Lit une nouvelle ligne
    ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
WEnd
_SQLite_QueryFinalize($hQuery)
_SQLite_Exec(-1, "DROP TABLE aTest; ")
_SQLite_Close()
_SQLite_Shutdown()

; Résultat:
; rowid       A           B           C
; 3           a           1           Hello
; 2           b           3
; 1           c           2           World