c ++: Créer une firebase database en utilisant SQLite pour Insert & Update

J’essaie de créer une firebase database en c ++ à l’aide de sqlite3 lib .. Je reçois une erreur sqlite3_prepare_v2 ‘
n’a pas été déclaré dans cette étendue, comme indiqué dans logcat.

fichier journal

..\src\Test.cpp: In function 'int main(int, const char**)': ..\src\Test.cpp:21:85: error: 'sqlite3_prepare_v2' was not declared in this scope ..\src\Test.cpp:30:13: error: variable 'sqlite3 in' has initializer but incomplete type ..\src\Test.cpp:30:30: error: invalid use of incomplete type 'sqlite3 {aka struct sqlite3}' ..\src\/sqlite3.h:73:16: error: forward declaration of 'sqlite3 {aka struct sqlite3}' 

Voici mon code

 #include  using namespace std; #include "sqlite3.h" int main (int argc, const char * argv[]) { sqlite3 *db; sqlite3_open("test.db", & db); ssortingng createQuery = "CREATE TABLE IF NOT EXISTS items (busid INTEGER PRIMARY KEY, ipaddr TEXT, time TEXT NOT NULL DEFAULT (NOW()));"; sqlite3_stmt *createStmt; cout << "Creating Table Statement" << endl; sqlite3_prepare_v2(db, createQuery.c_str(), createQuery.size(), &createStmt, NULL); cout << "Stepping Table Statement" << endl; if (sqlite3_step(createStmt) != SQLITE_DONE) cout << "Didn't Create Table!" << endl; string insertQuery = "INSERT INTO items (time, ipaddr) VALUES ('test', '192.168.1.1');"; // WORKS! sqlite3_stmt *insertStmt; cout << "Creating Insert Statement" << endl; sqlite3_prepare(db, insertQuery.c_str(), insertQuery.size(), &insertStmt, NULL); cout << "Stepping Insert Statement" << endl; if (sqlite3_step(insertStmt) != SQLITE_DONE) cout << "Didn't Insert Item!" << endl; cout << "Success!" << endl; return 0; } 

Sil te plait aide moi. Merci…..

  #include  

doit contenir sqlite3_prepare_v2 et struct sqlite3. Assurez-vous d’inclure le bon fichier sqlite3.h.

De plus, dans sqlite3_prepare_v2, le 3ème argument peut être (et devrait être dans votre cas) -1, de sorte que SQL soit lu par le premier terminateur null.

Utilisation d’un échantillon de métal nu avec sqlite 3.7.11:

 #include  int test() { sqlite3* pDb = NULL; sqlite3_stmt* query = NULL; int ret = 0; do // avoid nested if's { // initialize engine if (SQLITE_OK != (ret = sqlite3_initialize())) { printf("Failed to initialize library: %d\n", ret); break; } // open connection to a DB if (SQLITE_OK != (ret = sqlite3_open_v2("test.db", &pDb, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL))) { printf("Failed to open conn: %d\n", ret); break; } // prepare the statement if (SQLITE_OK != (ret = sqlite3_prepare_v2(pDb, "SELECT 2012", -1, &query, NULL))) { printf("Failed to prepare insert: %d, %s\n", ret, sqlite3_errmsg(pDb)); break; } // step to 1st row of data if (SQLITE_ROW != (ret = sqlite3_step(query))) // see documentation, this can return more values as success { printf("Failed to step: %d, %s\n", ret, sqlite3_errmsg(pDb)); break; } // ... and print the value of column 0 (expect 2012 here) printf("Value from sqlite: %s", sqlite3_column_text(query, 0)); } while (false); // cleanup if (NULL != query) sqlite3_finalize(query); if (NULL != pDb) sqlite3_close(pDb); sqlite3_shutdown(); return ret; } 

J’espère que cela t’aides

Les gars, créer une firebase database en utilisant sqlite3 dans c / c ++, je suis en train de suivre les étapes suivantes …

 1) Firstly you include MinGw file . 2) Add header file sqlite3.h, sqlite3.c in your src folder. 3) Add libr folder , in libr here include these file mysqlite.h, shell.c, sqlite3.c, sqlite3.h, sqlite3ext.h 

Après, commencez votre codage …

  #include  using namespace std; #include "sqlite3.h" int main (int argc, const char * argv[]) { sqlite3 *db; sqlite3_open("test1.db", & db); ssortingng createQuery = "CREATE TABLE IF NOT EXISTS items (userid INTEGER PRIMARY KEY, ipaddr TEXT,username TEXT,useradd TEXT,userphone INTEGER,age INTEGER, " "time TEXT NOT NULL DEFAULT (NOW()));"; sqlite3_stmt *createStmt; cout << "Creating Table Statement" << endl; sqlite3_prepare(db, createQuery.c_str(), createQuery.size(), &createStmt, NULL); cout << "Stepping Table Statement" << endl; if (sqlite3_step(createStmt) != SQLITE_DONE) cout << "Didn't Create Table!" << endl; string insertQuery = "INSERT INTO items (time, ipaddr,username,useradd,userphone,age) VALUES ('7:30', '192.187.27.55','vivekanand','kolkatta','04456823948',74);"; // WORKS! sqlite3_stmt *insertStmt; cout << "Creating Insert Statement" << endl; sqlite3_prepare(db, insertQuery.c_str(), insertQuery.size(), &insertStmt, NULL); cout << "Stepping Insert Statement" << endl; if (sqlite3_step(insertStmt) != SQLITE_DONE) cout << "Didn't Insert Item!" << endl; return 0; } 

passer par ce lien. Je ne suis pas sûr. Cela pourrait vous aider.

Je pense qu’il n’ya pas de sqlite3_prepare_v2 dans la librairie sqlite3.h, alors essayez ceci. Sqlite3_prepare_v2 peut être remplacé par sqlite3_prepare, mais vous devez faire plus attention car il change légèrement la sémantique des appels ultérieurs.