Code les 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_Escape ( $sString [, $iBuffSize = Default] )
$sString | Chaîne à traiter |
$iBuffSize | [optionnel] Taille de la chaîne escapée à retourner (par défaut, la chaîne escapée complète) |
Succès: | Retourne une chaîne traitée |
Échec: | Retourne une chaîne vide et définit @error <> 0. |
@error: | 1 - Erreur dans l'appel de l'API SQLite 'sqlite3_mprintf' 2 - Erreur de conversion d'une chaîne en UTF-8 3 - Erreur de lecture de la chaîne échappée |
La chaîne 'escaped' est déjà encadré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 une valeur numérique qui doit être stockée en tant que telle, utilisez une concaténation simple.
#include <SQLite.au3> #include <SQLite.dll.au3> _SQLite_Startup() ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF) Local $sTestString, $i, $aRow For $i = 1 To 255 $sTestString &= Chr($i) Next _SQLite_Open() _SQLite_Exec(-1, "CREATE TABLE test (a)") _SQLite_Exec(-1, "INSERT INTO test VALUES (" & _SQLite_Escape($sTestString) & ")") _SQLite_QuerySingleRow(-1, "SELECT a FROM test LIMIT 1", $aRow) If $aRow[0] = $sTestString Then ConsoleWrite("! identical !" & @CRLF) _SQLite_Shutdown()