Encode rapidement des donn�es binaires (exclusivement) pour l'utilisation dans les instructions SQLite
#include <SQLite.au3>
_SQLite_FastEncode ( $vData )
$vData | Donn�es � encoder (Binary uniquement) |
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 |
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.
#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()