Function Reference


_SQLite_Startup

Loads SQLite3.dll

#include <SQLite.au3>
_SQLite_Startup ( [$sDll_Filename = "" [, $bUTF8ErrorMsg = False [, $iForceLocal = 0 [, $hPrintCallback = $__g_hPrintCallback_SQLite [, $bAutoItTypeConversion = False]]]]] )

Parameters

$sDll_Filename [optional] DLL filename. Default is "sqlite3.dll" or "sqlite3_x64.dll" in X64 mode.
$bUTF8ErrorMsg [optional] to force ConsoleWrite() to display UTF8 chars
$iForceLocal [optional] 1 = use the defined DLL file. No version checking. Automatic "_x64.dll" in X64 mode.
0 = (default) the DLL will be search in @ScriptDir, @WorkingDir, @LocalAppDataDir & "\AutoIt v3\SQLite\", @SystemDir and @WindowsDir.
$hPrintCallback [optional] A variable assigned to the user defined function to display a SQLite diagnostic message. Default = __SQLite_ConsoleWrite(). See remarks.
$bAutoItTypeConversion [optional] Force conversion from String to AutoItType variable ((Default = False). See remark.

Return Value

Success: the path to the opened DLL file.
Failure: sets the @error flag to non-zero.

Remarks

If #include <SQLite.dll.au3> is included the SQLite version is checked.
The SQLite files can be downloaded from https://www.autoitscript.com/autoit3/pkgmgr/sqlite/sqlite3_setup_version.exe that can be stored in @ScriptDir, @WorkingDir, @LocalAppDataDir & "\AutoIt v3\SQLite\" (default), @SystemDir or @WindowsDir.
For use by any user store the SQLite files in @SystemDir or @WindowsDir.
To help the downloading of the correct version you can use the script "Extras\AutoUpdateIt\AutoIt3SQLiteUpdate.au3" (similar to AutoUpdateIt.au3 use to check AutoIt release or beta).

If $bUTF8ErrorMsg is not zero prints UTF8 formated string prints to console.
This allows applications as SciTE to display those characters if configured with output.code.page=65001.
This is the case when running SciTE under a non-english version.

The $hPrintCallback parameter specifies the name of user-defined callback function. This function will be passed a single parameter which is the message to display. The default callback is $__g_hPrintCallback_SQLite. See that function for an example of how to implement your own callback function.

$bAutoItTypeConversion is usefull if the whole script want to return by the _SQlite_FetchData() AutoIt type variables.
Default is to return String or Binary AutoIt Variable.

Related

_SQLite_Shutdown, _SQlite_FetchData

Example

Example 1

; SQLite.dll version must match

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

Local $sSQliteDll = _SQLite_Startup()

If @error Then
        MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _
                        "Not FOUND in @ScriptDir, @WorkingDir," & @CRLF & @TAB & "@LocalAppDataDir\AutoIt v3\SQLite," & @CRLF & @TAB & "@SystemDir or @WindowsDir")
        Exit -1
EndIf

MsgBox($MB_SYSTEMMODAL, "SQLite3.dll Loaded", $sSQliteDll & " (" & _SQLite_LibVersion() & ")")
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Shutdown()

Example 2

; no version reference so file must exist in @ScriptDir, @WorkingDir, @SystemDir or @WindowsDir

#include <MsgBoxConstants.au3>
#include <SQLite.au3>

Local $sSQliteDll
$sSQliteDll = _SQLite_Startup()
If @error Then
        MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _
                        "Not FOUND in @ScriptDir, @WorkingDir, @SystemDir or @WindowsDir")
        Exit -1
EndIf

MsgBox($MB_SYSTEMMODAL, "SQLite3.dll Loaded", $sSQliteDll & " (" & _SQLite_LibVersion() & ")")
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Shutdown()

Example 3

; open SQLite with a specific local file

#include <MsgBoxConstants.au3>
#include <SQLite.au3>

Local $sLocalSQLiteDll = "local SQLite.dll" ; to be change to an existing .dll to have no error

Local $sSQliteDll = _SQLite_Startup($sLocalSQLiteDll, False, 1)
If @error Then
        MsgBox($MB_SYSTEMMODAL, "SQLite Error", "'SQLite3.dll' Can't be Loaded!")
        Exit -1
EndIf

MsgBox($MB_SYSTEMMODAL, "SQLite3.dll Loaded", $sSQliteDll & " (" & _SQLite_LibVersion() & ")")
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
_SQLite_Shutdown()