Erstellen einer sqlite3-Tabelle in c++

Ich experimentiere mit C++, nachdem ich vor kurzem umgezogen von python; derzeit schreiben einer Funktion, die erstellt eine Tabelle in eine sqlite3-Datenbank.

Scheine ich zu werden, schlagen einige newbie-Fehler:

int db_build()
{
   sqlite3 *db;
   int rc; //This line
   int sql; //This line
   rc = sqlite3_open("test.db", &db);

   /* Create SQL statement */
   sql = "CREATE TABLE WORDS("  \
         "ID INT PRIMARY        KEY      NOT NULL," \
         "CURRENT_WORD          TEXT     NOT NULL," \
         "BEFORE_WORD           TEXT     NOT NULL," \
         "AFTER_WORD            TEXT     NOT NULL," \
         "OCCURANCES            INT      NOT NULL);";

   /* Execute SQL statement */
   rc = sqlite3_exec(db, sql);
   sqlite3_close(db);
   return 0;
}

Mein terminal, gibt Sie Folgendes zurück:

akf@akf-v5 ~/c/HelloWorld $ g++ main.cpp -l sqlite3
main.cpp: In function int db_build()’:
main.cpp:30:8: error: invalid conversion from const char*’ to int [-fpermissive]
    sql = "CREATE TABLE WORDS("  \
        ^
main.cpp:38:29: error: invalid conversion from int to const char*’ [-fpermissive]
    rc = sqlite3_exec(db, sql);
                             ^
main.cpp:38:29: error: too few arguments to function int sqlite3_exec(sqlite3*, const char*, int (*)(void*, int, char**, char**), void*, char**)’
In file included from main.cpp:4:0:
/usr/include/sqlite3.h:379:16: note: declared here
 SQLITE_API int sqlite3_exec(
                ^

Wenn ich "int sql' in 'char sql', schlug ich sogar noch mehr Fehler. Irgendeine Idee, wie man das Ding jetzt?

  • Erklären Sie, was Sie hier versuchen: sql = "CREATE TABLE WORDS(". Nun, was auch immer die Erklärung, die Sie haben, wie kann ein string sein, eine int?
  • Vielen Dank für die Abfrage @PaulMcKenzie, 1. Ich versuche zu erstellen, die eine SQL-string-Befehl. 2. Ich habe auch versucht, dass mit char-und string, die beide entstehen neue Fehler. Ich interpretierte "uninitialized const" INT " wird die gewünschte variable, type-Deklaration - nicht sicher, wie ich kam zu diesem Schluss, es war einer von denen, spontane Dinge, haha
InformationsquelleAutor ES-AKF | 2015-01-25
Schreibe einen Kommentar