Escapt einen String oder eine Number zur Benutzung in einem SQLite Statement (Query) als TEXT
#include <SQLite.au3>
_SQLite_FastEscape ( $sString )
$sString | String oder Integer zum escapen |
Erfolg: | einen escapten String |
Fehler: | einen Leer-String und setzt das @error Flag auf ungleich null |
@error: | 1 - Daten sind vom Typ kein String oder Integer |
Die SQLite-Dateien können von https://www.autoitscript.com/autoit3/pkgmgr/sqlite heruntergeladen werden. Abgespeichert können diese in @ScriptDir, @SystemDir, @WindowsDir oder @WorkingDir werden.
Der escapte String ist bereits von einfachen Anführungszeichen (') umgeben.
Zum Beispiel "It's a fine day" wird in "'It''s a fine day'" umgewandelt.
Für Binäre Daten nutzt man _SQLite_Encode().
Um numerische Werte als diese zu speichern, benutzt man einfache Verkettung
_SQLite_Encode, _SQLite_Escape
#include <SQLite.au3>
#include <SQLite.dll.au3>
_SQLite_Startup()
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
Local $sTestString, $i, $aRow
For $i = 1 To 32 * 1024 ; Eine große Zahl an Buchstaben im Unicode-Plan 0
$sTestString &= ChrW($i)
Next
_SQLite_Open()
_SQLite_Exec(-1, "CREATE TABLE test (a text);")
_SQLite_Exec(-1, "INSERT INTO test VALUES (" & _SQLite_FastEscape($sTestString) & ")")
_SQLite_QuerySingleRow(-1, "SELECT a FROM test;", $aRow)
If $aRow[0] == $sTestString Then ConsoleWrite("! Identisch !" & @CRLF)
_SQLite_Shutdown()