###User Defined Function###
_SQLite_Open

###Description###
ffnet/Erstellt eine SQLite-Datenbank.

###Syntax###
#include <SQLite.au3>
_SQLite_Open([$sDatabase_Filename = ":memory:" [,$iAccessMode [,$iEncoding]]])


###Parameters###
@@ParamTable@@
$sDatabase_Filename
	[optional] Dateiname der Datenbank. Bei Standard wird eine In-Memory Datenbank geffnet.
$iAccessMode
	[optional] Zugriffsmodusflags. Standard sind: $SQLITE_OPEN_READWRITE + $SQLITE_OPEN_CREATE  
$iEncoding
	[optional] encoding Modusflag, wird nur am Anfang verwendet. Standard sind: $SQLITE_ENCODING_UTF8
@@End@@

###ReturnValue###
@@ReturnTable@@
Erfolg:	Gibt das Datenbanken-Handle zurck.
Fehler:	Gibt 0 zurck.
@error	-1 - SQLite hat einen Fehler festgestellt (berprfe @extended-Wert)
     1 - Fehler beim Aufrufen von SQLite API 'sqlite3_open_v2'
     2 - Fehler beim konvertieren das Dateinamens in UTF-8
     3 - _SQLite_Startup wurde zuvor nicht aufgerufen
@extended	Der Wert kann mit den $SQLITE_* Konstanten verglichen werden
@@End@@

###Remarks###
Es ist nicht notwendig das Datenbanken-Handle zu speichern, auer wenn mehr als eine Datenbank in derselben Session benutzt werden. Funktionen, die das Handle benutzen, rufen bei Standard die zuletzt geffnete Datenbank auf.

Um eine in UFT16 kodierte Datenbank zu erstellen, muss beim Erstellen nur $iEncoding=$SQLITE_ENCODING_UTF16 verwendet werden.


In-Memory, temporre und permanente Datenbanken knnen wie folgt geffnet werden:
     $hDb = _SQLite_Open()                      ; ffnet eine temporre private In-Memory-Datenbank.
     $hDb = _SQLite_Open(Default, ...)          ; dito
     $hDb = _SQLite_Open(':memory:', ...)       ; dito

     $hDb = _SQLite_Open('', ...)               ; ffnet eine temporre private On-Disk-Datenbank.

     $hDb = _SQLite_Open('abc.db', ...)         ; ffnet oder erstellt eine permanente gemeinsam nutzbare On-Disk-Datenbank namens 'abc.db'

   Fr Selbstverwirrung:
     $hDb = _SQLite_Open('./:memory:', ...)     ; ffnet oder errstellt eine permanente gemeinsam nutzbare On-Disk-Datenbank namens ':memory:'

Im Gegensatz zu permanenten disk-basierten Datenbanken knnen In-Memory und temporre Datenbanken weder gemeinsam, noch fr IPC (Interprozesskommunikation) benutzt werden. Sie werden nach Verbindungsende gelscht.

###Related###
_SQLite_Close

###Example###
@@IncludeExample@@
