Funktionsreferenz


_SQLite_Open

Öffnet/Erstellt eine SQLite-Datenbank.

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

Parameter

$sDatabase_Filename [optional] Dateiname der Datenbank. Bei Standard wird eine In-Memory Datenbank geöffnet.
$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

Rückgabewert

Erfolg: Gibt das Datenbanken-Handle zurück.
Fehler: Gibt 0 zurück.
@error -1 - SQLite hat einen Fehler festgestellt (überprüfe @extended-Wert)
@extended Der Wert kann mit den $SQLITE_* Konstanten verglichen werden

Bemerkungen

Es ist nicht notwendig das Datenbanken-Handle zu speichern. Funktionen, die das Handle benutzen, rufen bei Standard die zuletzt geöffnete Datenbank auf.

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

Verwandte Funktionen

_SQLite_Close

Beispiel


#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <File.au3>

_SQLite_Startup()
If @error Then
    MsgBox(16, "SQLite Error", "SQLite3.dll kann nicht geladen werden!")
    Exit -1
EndIf
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)

_SQLite_Open() ; Erstellt eine :memory: Datenbank im Arbeitsspeicher ohne ihr Handle zu verwenden
If @error Then
    MsgBox(16, "SQLite Error", "Kann keine Datenbank im Speicher erstellen!")
    Exit -1
EndIf
_SQLite_Close()

Local $hMemDb = _SQLite_Open() ; Erstellt eine :memory: Datenbank im Arbeitsspeicher
If @error Then
    MsgBox(16, "SQLite Error", "Kann keine Datenbank im Speicher erstellen!")
    Exit -1
EndIf

Local $hTmpDb = _SQLite_Open('') ; Erstellt eine temporäre Datenbank auf der Festplatte
If @error Then
    MsgBox(16, "SQLite Error", "Kann keine temporäre Datenbank erstellen!")
    Exit -1
EndIf

Local $sDbName = _TempFile()
Local $hDskDb = _SQLite_Open($sDbName) ; Erstellt eine permanente Datenbank auf der Festplatten
If @error Then
    MsgBox(16, "SQLite Error", "Kann keine permanente Datenbank erstellen!")
    Exit -1
EndIf

; Es ist auch möglich die 3 Datenbanken nach Bedarf über ihr Handle zu benutzen

; Schließt die erstellten Datenbanken, in beliebiger Reihenfolge
_SQLite_Close($hTmpDb) ; Temporäre Datenbanken werden automatisch durch Close gelöscht
_SQLite_Close($hDskDb) ; Die Datenbank ist eine gewöhnliche Datei die jederzeit wieder geöffnet werden kann
_SQLite_Close($hMemDb)

; Diese Datenbank wird nicht mehr gebraucht
FileDelete($sDbName)

_SQLite_Shutdown()