Codage rapide des caractères d'échappement d'une chaîne ou d'un nombre pour une utilisation en tant que TEXT dans les instructions SQLite
#include <SQLite.au3>
_SQLite_FastEscape ( $sString )
$sString | Chaîne à traiter |
Succès: | Retourne une chaîne 'échappée'. |
Échec: | Retourne une chaîne vide et définit @error <> 0. |
@error: | 1 - La donnée n'est pas une chaîne ou une valeur numérique |
La chaîne échappée est encadtée par des guillemets simples.
Par exemple, "C'est une belle journée" se transforme en "'C''est une belle journée'".
Pour des données binaires, utilisez _SQLite_Encode().
Pour des valeurs numériques qui doivent être stockées en tant que telle, utilisez une concaténation simple.
_SQLite_Encode, _SQLite_Escape
#include <SQLite.au3> #include <SQLite.dll.au3> _SQLite_Startup() ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF) Local $sTestString, $i, $aRow For $i = 1 To 32 * 1024 ; Un grand nombre de caractères en Unicode plane 0 $sTestString &= ChrW($i) Next _SQLite_Open() _SQLite_Exec(-1, "CREATE TABLE test (a text); ") _SQLite_Exec(-1, "INSERT INTO test VALUES (" & _SQLite_FastEscape($sTestString) & ")") _SQLite_QuerySingleRow(-1, "SELECT a FROM test; ", $aRow) If $aRow[0] == $sTestString Then ConsoleWrite("! identical !" & @CRLF) _SQLite_Shutdown()