Function Reference

_SQLite_Encode

文字列またはバイナリデータをSQLiteクエリで使用できるようにエンコードします。

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

 

パラメータ

$vData エンコードされるデータ(文字列、数値またはバイナリ)

 

返し値

成功: エンコードされた文字列を返します
失敗: 空文字列を返し@errorに1を設定します

 

注意

エンコードされた文字列は既にシングルコーテーションで囲まれています。
例えばchr(0) & chr(1)はX'0001'のようになります。
エンコードされた文字列はデータをバイナリ状態で保持するSqliteによってデコードされます。

 

関連

_SQLite_Escape

 


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

Local $hFile, $vData, $sFileName, $sData, $hQuery, $aRow, $sMsg
_SQLite_Startup()
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_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]) & @CRLF
WEnd
MsgBox(0,"Result",$sMsg)
_SQLite_Close()
_SQLite_Shutdown()