75 votes

Comment stocker et récupérer un blob dans sqlite ?

J'ai utilisé sqlite en c++, python et maintenant (peut-être) en C#. Dans tous ces cas, je n'ai aucune idée de la façon d'insérer un blob dans une table. Comment puis-je stocker et récupérer un blob dans sqlite ?

3voto

Claudiu Points 58398

En C++ (sans vérification des erreurs) :

std::string blob = ...; // assume blob is in the string

std::string query = "INSERT INTO foo (blob_column) VALUES (?);";

sqlite3_stmt *stmt;
sqlite3_prepare_v2(db, query, query.size(), &stmt, nullptr);
sqlite3_bind_blob(stmt, 1, blob.data(), blob.size(), 
                  SQLITE_TRANSIENT);

Cela peut être SQLITE_STATIC si la requête sera exécutée avant blob est détruit .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X