Syntax Error beim Auslesen einer SQLite Tabelle

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Syntax Error beim Auslesen einer SQLite Tabelle

    Hallo zusammen,

    ich möchte eine Spalte einer SQLite-Tabelle in einem Spinner auslesen. Bekomme aber folgende Fehlermeldung:
    Error Code : 1 (SQLITE_ERROR)
    Caused By : SQL(query) error or missing database.
    (near "FROM": syntax error (code 1): , while compiling: SELECT Gruppe , FROM Kunden_list)

    mein Quellcode:

    package com.example.katjarummler.hundeschule_petra_bennemann;



    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;

    import java.util.ArrayList;
    import java.util.List;

    public class HundeschuleMemoDBHelper extends SQLiteOpenHelper {


    private static final String LOG_TAG = HundeschuleMemoDBHelper.class.getSimpleName();



    public static final String DB_NAME = "Kunden_list.db";
    public static final int DB_VERSION = 6;

    public static final String TABLE_KUNDEN_LIST = "Kunden_list";


    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_KName = "Name";
    public static final String COLUMN_GNAME = "Gruppe";
    public static final String COLUMN_KTELEFON = "Telefon";
    public static final String COLUMN_HUND = "Hund";
    public static final String COLUMN_BEGINN = "Beginn";
    public static final String COLUMN_CHECKED = "checked";



    public static final String SQL_CREATE = "CREATE TABLE " + TABLE_KUNDEN_LIST +
    "(" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
    COLUMN_KName + " TEXT NOT NULL, " +
    COLUMN_GNAME + " TEXT NOT NULL, " +
    COLUMN_KTELEFON + " TEXT NOT NULL, " +
    COLUMN_HUND + " TEXT NOT NULL, " +
    COLUMN_BEGINN + " TEXT NOT NULL, " +
    COLUMN_CHECKED + " BOOLEAN NOT NULL DEFAULT 0);";


    public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_KUNDEN_LIST;



    public HundeschuleMemoDBHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
    Log.d(LOG_TAG, "DBHelper hat die Datenbank: " + getDatabaseName() + " erzeugt.");
    }



    //Die onCreate-Methode wird nur aufgerufen, falls die Datenbank noch nicht existiert
    public void onCreate(SQLiteDatabase db) {
    try{
    Log.d(LOG_TAG, "Die Tabelle wird mit SQL-Befehl: " + SQL_CREATE + " angelegt.");
    db.execSQL(SQL_CREATE);

    }
    catch(Exception ex){
    Log.e(LOG_TAG, "Fehler beim Anlegen der Tabelle: " + ex.getMessage());
    }

    }


    // Die onUpgrade-Methode wird aufgerufen, sobald die neue Versionsnummer höher
    // als die alte Versionsnummer ist und somit ein Upgrade notwendig wird

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.d(LOG_TAG, "Die Tabelle mit Versionsnummer " + oldVersion + " wird entfernt.");
    db.execSQL(SQL_DROP);

    onCreate(db);
    }


    public List<HundeschuleMemoKunden> getAll(){

    SQLiteDatabase database = this.getReadableDatabase();
    String selectQuery = "SELECT " +
    COLUMN_GNAME + " , " +
    " FROM " + TABLE_KUNDEN_LIST;

    List<HundeschuleMemoKunden> gruppenList = new ArrayList<HundeschuleMemoKunden>();
    Cursor cursor = database.rawQuery(selectQuery, null);

    //looping through all rows and adding to list
    if(cursor.moveToFirst()){
    do{

    HundeschuleMemoKunden gruppe = new HundeschuleMemoKunden("kName", "gName", "kTelefon", "hName", "beginn");

    gruppe.setgName(cursor.getString(cursor.getColumnIndex(this.COLUMN_GNAME)));
    gruppenList.add(gruppe);

    }while(cursor.moveToNext());
    }

    cursor.close();
    database.close();
    return gruppenList;
    }


    }

    Falls ihr noch mehr Quellcode benötigt, bitte melden.
    Vielen Dank für Hilfe im voraus.

    sabbelschlaeppchen
  • Hallo zusammen,

    die Abfrage ist falsch.

    Da nur eine Spalte abgefragt wird, ist aus mein Sicht im Teil
    COLUMN_GNAME + " , " +
    das Komma überflüssig.

    Gruß keinstein

    sabbelschlaeppchen schrieb:


    ich möchte eine Spalte einer SQLite-Tabelle in einem Spinner auslesen. Bekomme aber folgende Fehlermeldung:
    Error Code : 1 (SQLITE_ERROR)
    Caused By : SQL(query) error or missing database.
    (near "FROM": syntax error (code 1): , while compiling: SELECT Gruppe , FROM Kunden_list)

    mein Quellcode:

    package com.example.katjarummler.hundeschule_petra_bennemann;



    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;

    import java.util.ArrayList;
    import java.util.List;

    public class HundeschuleMemoDBHelper extends SQLiteOpenHelper {


    private static final String LOG_TAG = HundeschuleMemoDBHelper.class.getSimpleName();



    public static final String DB_NAME = "Kunden_list.db";
    public static final int DB_VERSION = 6;

    public static final String TABLE_KUNDEN_LIST = "Kunden_list";


    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_KName = "Name";
    public static final String COLUMN_GNAME = "Gruppe";
    public static final String COLUMN_KTELEFON = "Telefon";
    public static final String COLUMN_HUND = "Hund";
    public static final String COLUMN_BEGINN = "Beginn";
    public static final String COLUMN_CHECKED = "checked";



    public static final String SQL_CREATE = "CREATE TABLE " + TABLE_KUNDEN_LIST +
    "(" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
    COLUMN_KName + " TEXT NOT NULL, " +
    COLUMN_GNAME + " TEXT NOT NULL, " +
    COLUMN_KTELEFON + " TEXT NOT NULL, " +
    COLUMN_HUND + " TEXT NOT NULL, " +
    COLUMN_BEGINN + " TEXT NOT NULL, " +
    COLUMN_CHECKED + " BOOLEAN NOT NULL DEFAULT 0);";


    public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_KUNDEN_LIST;



    public HundeschuleMemoDBHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
    Log.d(LOG_TAG, "DBHelper hat die Datenbank: " + getDatabaseName() + " erzeugt.");
    }



    //Die onCreate-Methode wird nur aufgerufen, falls die Datenbank noch nicht existiert
    public void onCreate(SQLiteDatabase db) {
    try{
    Log.d(LOG_TAG, "Die Tabelle wird mit SQL-Befehl: " + SQL_CREATE + " angelegt.");
    db.execSQL(SQL_CREATE);

    }
    catch(Exception ex){
    Log.e(LOG_TAG, "Fehler beim Anlegen der Tabelle: " + ex.getMessage());
    }

    }


    // Die onUpgrade-Methode wird aufgerufen, sobald die neue Versionsnummer höher
    // als die alte Versionsnummer ist und somit ein Upgrade notwendig wird

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.d(LOG_TAG, "Die Tabelle mit Versionsnummer " + oldVersion + " wird entfernt.");
    db.execSQL(SQL_DROP);

    onCreate(db);
    }


    public List<HundeschuleMemoKunden> getAll(){

    SQLiteDatabase database = this.getReadableDatabase();
    String selectQuery = "SELECT " +
    COLUMN_GNAME + " , " +
    " FROM " + TABLE_KUNDEN_LIST;

    List<HundeschuleMemoKunden> gruppenList = new ArrayList<HundeschuleMemoKunden>();
    Cursor cursor = database.rawQuery(selectQuery, null);

    //looping through all rows and adding to list
    if(cursor.moveToFirst()){
    do{

    HundeschuleMemoKunden gruppe = new HundeschuleMemoKunden("kName", "gName", "kTelefon", "hName", "beginn");

    gruppe.setgName(cursor.getString(cursor.getColumnIndex(this.COLUMN_GNAME)));
    gruppenList.add(gruppe);

    }while(cursor.moveToNext());
    }

    cursor.close();
    database.close();
    return gruppenList;
    }


    }

    Falls ihr noch mehr Quellcode benötigt, bitte melden.
    Vielen Dank für Hilfe im voraus.

    sabbelschlaeppchen
    allo
  • Du hast bei deiner Select-Query ein Komma drin, den roten Teil wegmachen und nochmal probieren:

    String selectQuery = "SELECT " +
    COLUMN_GNAME + " , " +
    " FROM " + TABLE_KUNDEN_LIST;
    Unsere App im Play Store: Quiz Heroes
    Über Anmerkungen und Kritik freuen wir uns sehr!