Anzeige:
Ergebnis 1 bis 4 von 4

Thema: SQLite findet meine Tabelle nicht

  1. #1
    LordTerra
    Gast

    SQLite findet meine Tabelle nicht

    hi

    ich hab ein problem!
    und zwar hab ich ein c-programm welches eine SQLite3 DB - Datei aufmachen soll und dann ein select auf die Tabelle user machen soll...


    Code:
    #include <stdio.h>
    #include <sqlite3.h>
    
    static int callback(void *NotUsed, int argc, char **argv, char **azColName){
      int i;
      printf("argc: %i\n", argc);
      for(i=0; i<argc; i++){
        printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
      }
      printf("\n");
      return 0;
    }
    
    int main(int argc, char **argv){
      sqlite3 *db;
      char *zErrMsg = 0;
      int rc;
      char *sql;
        
      rc = sqlite3_open("avs.DB", &db);
      if( rc ){
        fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        exit(1);
      }
      sql = "SELECT id FROM user";
      rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
      
      if( rc!=SQLITE_OK ){
        fprintf(stderr, "SQL error: %s\n", zErrMsg);
        sqlite3_free(zErrMsg);
      }
      sqlite3_close(db);
      return 0;
    }
    Das Problem: er sagt mir jedesmal das er die Tabelle user nicht finden kann.

    wenn ich per konsole in die DB-Datei geh und nen Show Tables mach ist diese aber vorhanden und ich kann auch per select befehl alles ausgeben...

    was kann das sein?

    und als 2.: wenn ich statt dem select befehl show tables als sql befehl schreibe sagt der mir: show: syntax error

    pls help
    LordTerra

  2. #2
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Mit SQLite kenn ich mich nicht aus, aber es sieht aus, als würdest du einen falschen Namespace angeben in deinem Programm.
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  3. #3
    Registrierter Benutzer Avatar von lokicall
    Registriert seit
    17.12.2005
    Beiträge
    53
    Sicher das sqlite "show" kennt. Siehe hier
    Geändert von lokicall (30-09-2007 um 13:56 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    SHOW ist kein SQL, sondern wird nur von der SQLite SQL-Shell verstanden (vermutlich mit einem Punkt davor). Dieser Befehl kann also aus einen C-Programm heraus nicht klappen.

    Hast Du denn die Tabelle selber USER mit CREATE TABLE angelegt?
    Oder gehört sie vielleicht zum System Catalog von SQLite und ist deshalb nur mit Klimmzügen erreichbar?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •