Функция _SQLite_Encode

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


_SQLite_Encode

Бинарное кодирование строки, числа или бинарных данных для использования в качестве BLOB в SQLite запросах

#include <SQLite.au3>
_SQLite_Encode($vData)

Параметры

$vData Данные для кодирования (строка, число или бинарные данные)

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

Успех:Возвращает кодированную строку
Ошибка:Возвращает пустую строку и устанавливает @error = 1

Примечания

Кодированная строка уже обернута одинарными кавычками.
Например, chr(0) & chr(1) будет выглядеть как X'0001'.
Кодированная строка может декодироваться SQLite и храниться в бинарном виде, как BLOB.
Для строк, хранящихся в виде текста используйте _SQLite_Escape() Для числовых значений, которые будут сохранены как есть, используйте обычное объединение

См. также

_SQLite_Escape

Пример

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

Local $hFile, $vData, $sFileName, $sData, $hQuery, $aRow, $sMsg
_SQLite_Startup()
ConsoleWrite("Версия библиотеки SQLite = " & _SQLite_LibVersion() & @CRLF)
_SQLite_Open()
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS Test (data blob);")
$vData = Binary("Hello" & Chr(0) & "World"); = 48656C6C6F00576F726C64
$sData = _SQLite_Encode($vData)
_SQLite_Exec(-1, "INSERT INTO Test VALUES (" & $sData & ");")
$vData = Binary(Chr(0) & @CRLF); = 000D0A
$sData = _SQLite_Encode($vData)
_SQLite_Exec(-1, "INSERT INTO Test VALUES (" & $sData & ");")
$vData = Binary(Chr(0)); = 00 , но интерпретатор возвращает 0000000000000000
$sData = _SQLite_Encode($vData)
_SQLite_Exec(-1, "INSERT INTO Test VALUES ( " & $sData & " );")
_SQLite_Query(-1, "SELECT * FROM Test;", $hQuery)
While _SQLite_FetchData($hQuery, $aRow, 1) = $SQLITE_OK
    $sMsg &= Hex($aRow[0]) & @CR
WEnd
MsgBox(0, "Результат", $sMsg)
_SQLite_Close()
_SQLite_Shutdown()