Bonjour les gens!
J'ai une chaîne vide toute bête, et je la file à sqlite3_bind_text ainsi:
[code]sqlite3_bind_text( stmt, ma_chaine.c_str(), ma_chaine.size(), SQLITE_STATIC );[code]
Pour une requête on ne peut plus bête: INSERT INTO Test (VarcharField) VALUES (?).
J'utilise SQLite Database Browser pour visualiser ma petite insertion, et effectivement j'ai bien ma colonne VarcharField vide.
Puis, petit filou que je suis, j'éxecute la requête suivante SELECT VarcharField FROM Test WHERE VarcharField=?, en effectuant un binding identique, et là, je n'ai aucun résultat...
J'ai alors modifié ma requête de sélection : SELECT VarcharField FROM Test WHERE VarcharField IS ?, et là, joie bonheur, j'ai bien mon résultat...
J'ai donc l'impression que plutôt que de m'insérer une chaîne vide, il m'insère NULL (et en regardant avec un autre browser, effectivement le champ semble NULL).
Est-ce que je me trompe?
Y a-t-il moyen de contourner cet effet plutôt indésirable?
Partager