sqlite Probleme beim comp.



  • Hallo,

    ich bin neue hier und will mir gerade C++ bei bringen.

    Jetzt mein Problem ich möchte mit eine SQLite DB arbeiten und bekomme ständig fehlermeldungen.

    Hier der Code

    #include <iostream>
    #include "sqlite3.h"
    
    using namespace std;
    
    int main()
    {
        struct sqlite3* db;
        string path;
    
        cout << "Pfad zur DB: ";
        cin >> path;
    
        if(sqlite3_open(path.c_str(), &db) != SQLITE_OK)
       {
          // Es ist ein Fehler aufgetreten!
          cout << "Fehler beim Öffnen: " << sqlite3_errmsg(db) << endl;
    
          // Programm beenden
          return 1;
       }
    
       // Es hat alles geklappt, die Datenbank wurde geöffnet
       cout << "Datenbank erfolgreich geöffnet!" << endl;
    
       // Jetzt können wir die Datenbank wieder schließen
       sqlite3_close(db);
    
       cout << "Datenbank geschlossen!" << endl;
    
       // Programm beenden
       return 0;
    }
    

    Und hier die Fehlermeldungen:

    -------------- Build: Debug in sqlite ---------------
    
    Compiling: main.cpp
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp: In function `int main()':
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:14: error: `sqlite3_open' was not declared in this scope
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:14: error: `SQLITE_OK' was not declared in this scope
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:17: error: `sqlite3_errmsg' was not declared in this scope
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:17: warning: unused variable 'sqlite3_errmsg'
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:14: warning: unused variable 'sqlite3_open'
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:14: warning: unused variable 'SQLITE_OK'
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:27: error: `sqlite3_close' was not declared in this scope
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\sqlite\main.cpp:27: warning: unused variable 'sqlite3_close'
    

    Ich werde daraus nicht schlau ausser das es für den Bereich nicht deklariert ist. Aber warum nicht und wie kann es machen??

    Danke



  • n00bie666 schrieb:

    Ich werde daraus nicht schlau ausser das es für den Bereich nicht deklariert ist. Aber warum nicht und wie kann es machen??

    Richtigen Header einbinden. Besser: Erst einmal C++ so lernen, ohne SQL Kram.

    n00bie666 schrieb:

    struct sqlite3* db;
    

    Das ist C, nicht C++.



  • Hi,

    danke für die schnell antwort!

    Der code ist nicht mein eigener sondern aus dem hier
    http://de.wikibooks.org/wiki/C%2B%2B-Programmierung:_SQlite

    Nur das geht auch nicht! Wo liegt der Fehler an sich?
    Muss die header-datei erst erstellt werden?



  • n00bie666 schrieb:

    Nur das geht auch nicht! Wo liegt der Fehler an sich?
    Muss die header-datei erst erstellt werden?

    Der Fehler ist, dass du undeklarierte Bezeichner benutzt. So einfach. In Bibliotheken werden üblicherweise die Bezeichner in Header-Dateien deklariert, welche dann mittels Prä-Prozessor eingebunden werden (Die #include-Direktive, einfache Text substitution).



  • Hallo,

    die Header datei war einfach falsch! Ich hab sie nochmal entpackt und siehe da jetzt geht alles! Naja, jetzt hab ich bin ich etwas schlauer geworden und werd mal noch viel an grundlagen in c++ machen.

    Danke für die schnellen Antworten.


Anmelden zum Antworten