_SQLite_FastEscape
Быстро экранирует строку или число при использовании как текста в SQLite запросах
#include <SQLite.au3>
_SQLite_FastEscape($sString)
Параметры
$sString | Строка для экранирования |
Возвращаемое значение
Успех: | Возвращает экранированную строку |
Ошибка: | Возвращает пустую строку и устанавливает @error |
@error: | 1 - Данные - не строка и не число |
Примечания
Экранированная строка уже обернута одинарными кавычками.См. также
_SQLite_Encode, _SQLite_EscapeПример
#include <SQLite.au3>
#include <SQLite.dll.au3>
_SQLite_Startup()
ConsoleWrite("Версия библиотеки SQLite = " & _SQLite_LibVersion() & @CRLF)
Local $sTestString, $i, $aRow
For $i = 1 To 32 * 1024 ; большие номера символов Юникода
$sTestString &= ChrW($i)
Next
; Теперь $sTestString содержит строку, в которой 32768 символов Юникода
_SQLite_Open() ; открывает базу данных в памяти
_SQLite_Exec(-1, "CREATE TABLE test (a text);") ; создаёт таблицу "test"
_SQLite_Exec(-1, "INSERT INTO test VALUES (" & _SQLite_FastEscape($sTestString) & ")") ; вставляет значения в таблицу с быстрым экранированием
_SQLite_QuerySingleRow(-1, "SELECT a FROM test;", $aRow) ; запрос ранее добавленной строки символов Юникода
If $aRow[0] == $sTestString Then ConsoleWrite("! идентичны !" & @CRLF) ; проверяет, идентичны ли оригинал строки со строкой из базы данных
_SQLite_Shutdown()