Ouvre ou cr�e une base de donn�es SQLite
#include <SQLite.au3>
_SQLite_Open ( [$sDatabase_Filename = ":memory:" [, $iAccessMode = Default [, $iEncoding = $SQLITE_ENCODING_UTF8]]] )
$sDatabase_Filename | [optionnel] Nom de fichier Databse, par d�faut ouvrira une base de donn�es en m�moire. |
$iAccessMode | [optionnel] Flags du mode d'acc�s. Par d�faut, $SQLITE_OPEN_READWRITE + $SQLITE_OPEN_CREATE |
$iEncoding | [optionnel] Flags du mode de codage, utilis� seulement lors de la cr�ation. Par d�faut, $SQLITE_ENCODING_UTF8 |
Succ�s: | Retourne le handle de la base de donn�es. |
�chec: | Retourne 0. |
@error: |
-1 - SQLite a signal� une erreur (V�rifiez @extended) 1 - Erreur dans l'appel de l'API SQLite 'sqlite3_open_v2' 2 - Erreur lors de la conversion du fichier en UTF-8 3 - _SQLite_Startup() n'a pas encore �t� appel� |
@extended: | La valeur peut �tre compar�e aux constantes $SQLITE_* |
Il n'est pas n�cessaire de stocker le handle de la base de donn�es, sauf si vous utilisez plus d'une base de donn�es dans la m�me session.
Les fonctions qui utilisent le handle utilisent par d�faut la derni�re base ouverte.
Pour cr�er une base de donn�es encod�es dans UFT16, il suffit d'utiliser $iEncoding = $SQLITE_ENCODING_UTF16.
Des bases de donn�es en m�moire, temporaires et permanentes peuvent �tre ouvertes:
$hdb = _SQLite_Open() ; ouvre une DB en m�moire priv�e et temporaire
$hdb = _SQLite_Open ( Par d�faut,... ); idem
$hdb = _SQLite_Open ( ': memory: ',...); idem
$hdb = _SQLite_Open ('',... ); ouvre une BD priv�e, temporaire sur le disque
$hdb = _SQLite_Open ('abc.db ',...); ouvre ou cr�e une BD permanebte, partageable sur disque nomm� 'abc.db'
Si vous insistez � avoir une confusion:
$hdb = _SQLite_Open ('./:memory : ',...); ouvre ou cr�e une BD permanente, partageable sur disque nomm� ':memory:'
Contrairement � des DBs, permanente sur disque, des DBs en m�moire,temporaire ne peuvent pas �tre partag�es ni �tre utilis� pour IPC (Inter Process Communication) et sont d�truits � la fin de la connexion.
#include <File.au3> #include <MsgBoxConstants.au3> #include <SQLite.au3> #include <SQLite.dll.au3> _SQLite_Startup() If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!") Exit -1 EndIf ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF) _SQLite_Open() ; Cr�e une base de donn�es :memory: et n'utilise pas son handle pour y faire r�f�rence If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't create a memory Database!") Exit -1 EndIf _SQLite_Close() Local $hMemDb = _SQLite_Open() ; Cr�e une base de donn�es :memory: If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't create a memory Database!") Exit -1 EndIf Local $hTmpDb = _SQLite_Open('') ; Cr�e une base de donn�es temporaire sur disque If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't create a temporary Database!") Exit -1 EndIf Local $sDbName = _TempFile() Local $hDskDb = _SQLite_Open($sDbName) ; Ouvre une base de donn�es permanente sur disque If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't open or create a permanent Database!") Exit -1 EndIf ; Nous pouvons utiliser les 3 bases de donn�es si n�cessaire en faisant r�f�rence � leur handle ; Ferme les DBs que nous avons cr��es, dans n'importe quel ordre _SQLite_Close($hTmpDb) ; Les DBs temporaires sont effac�es automatiquement � la fermeture _SQLite_Close($hDskDb) ; DB est un fichier standard qui peut �tre r�ouvert ult�rieurement _SQLite_Close($hMemDb) ; Nous n'avons pas vraiment besoin de cette DB FileDelete($sDbName) _SQLite_Shutdown()