Archivio del 25/03/2010
C++ e SQLite: primo esempio
25 mar
Il seguente esempio mostra, molto velocemente, come utilizzare le principali funzioni delle API di SQLite in C/C++:
#include <iostream> #include <string> #include <sqlite3.h> using namespace std; void fill(string queries[5]) { queries[0] = "DROP TABLE IF EXISTS persone"; queries[1] = "CREATE TABLE persone (id int, nome text)"; queries[2] = "INSERT INTO persone (id, nome) values (1, 'antonio')"; queries[3] = "INSERT INTO persone (id, nome) values (2, 'marco')"; queries[4] = "SELECT id, nome FROM persone"; } int main() { sqlite3* conn; sqlite3_stmt* result; string queries[5]; fill(queries); sqlite3_open("C:/db.sqlite", &conn); for(int i = 0; i < 4; i++) { char* errMsg = new char[1024]; int retv; cout << queries[i] << endl; if( (retv = sqlite3_exec(conn, queries[i].c_str(), 0, 0, &errMsg)) != SQLITE_OK) { cout << errMsg << " - ErrCode: " << retv << endl; delete errMsg; return -1; } delete [] errMsg; } sqlite3_prepare_v2(conn, queries[4].c_str(), queries[4].size(), &result, NULL); while(sqlite3_step(result) == SQLITE_ROW) { cout << sqlite3_column_int(result, 0) << "\t" << sqlite3_column_text(result, 1) << endl; } sqlite3_finalize(result); sqlite3_close(conn); }