Функция _SQLite_FastEscape

 ↑  ←  Описание функции


_SQLite_FastEscape

Быстро экранирует строку или число при использовании как текста в SQLite запросах

#include <SQLite.au3>
_SQLite_FastEscape($sString)

Параметры

$sString Строка для экранирования

Возвращаемое значение

Успех:Возвращает экранированную строку
Ошибка:Возвращает пустую строку и устанавливает @error
@error:1 - Данные - не строка и не число

Примечания

Экранированная строка уже обернута одинарными кавычками.
Например, "It's a fine day" будет преобразована в "'It''s a fine day'"
Для бинарных данных используйте _SQLite_Encode() Для числовых значений, которые будут сохранены как есть, используйте обычное объединение

См. также

_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()