UDF > SQLite >


_SQLite_FastEncode

Encode rapidement des données binaires (exclusivement) pour l'utilisation dans les instructions SQLite

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

Paramètre

$vData Données à encoder (Binary uniquement)

Valeur de retour

Succès: Retourne une chaîne codée en binaire.
Échec: Retourne une chaîne vide et définit @error <> 0.
@error: 1 - Les données ne sont pas du type binaire

Remarque

La chaîne codée est déjà encadrée par des guillemets simples.
par exemple Chr(0) & Chr(1) ressemblerait à X'0001'.
La chaîne codée peut être décodée par SQLite et stockée à l'état binaire comme un BLOB.
Pour les chaînes qui doivent être stockés sous forme de TEXT, utilisez _SQLite_Escape().
Pour une valeur numérique qui doit être stockée en tant que telle, utilisez une concaténation simple.

En relation

_SQLite_Escape

Exemple

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

Local $hFile, $vData, $sFileName, $sData, $hQuery, $aRow, $sMsg
ConsoleWrite("_SQLite_Startup=" & _SQLite_Startup() & @CRLF)
ConsoleWrite("_SQLite_LibVersion=" & _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_FastEncode($vData)
_SQLite_Exec(-1, "INSERT INTO Test VALUES (" & $sData & ");")
$vData = Binary(Chr(0) & @CRLF); = 000D0A
$sData = _SQLite_FastEncode($vData)
_SQLite_Exec(-1, "INSERT INTO Test VALUES (" & $sData & ");")
$vData = Binary(Chr(0)); = 00
$sData = _SQLite_FastEncode($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]) & @CRLF
WEnd
MsgBox($MB_SYSTEMMODAL, "Result", $sMsg)
_SQLite_Close()
_SQLite_Shutdown()