1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. quiddix, 19.05.2010 #1
    quiddix

    quiddix Threadstarter Android-Hilfe.de Mitglied

    Hallo,

    ich bekomme bei einem Update durch ContentValues die folgende Exception, wenn ich den Update Vorgang mit dem Debugger analysiere.

    Code:
    android.database.sqlite.SQLiteException: near ".": syntax error: , while compiling: UPDATE vokabel SET antwort=?, vokabel.karteifach_id=?, vokabel.phase_id=?, frage=?, fehlerquote=? WHERE _id=?
    folgendes wird dabei aufgerufen:

    Code:
    ContentValues werte = new ContentValues();
    
    			werte.put(VokabelTbl.FRAGE, editedVokabel.getFrage());
    			werte.put(VokabelTbl.ANTWORT, editedVokabel.getAntwort());
    			werte.put(VokabelTbl.FEHLERQUOTE, editedVokabel.getFehleranzahl());
    			werte.put(VokabelTbl.PHASE_ID, editedVokabel.getPhase().getId());
    			werte.put(VokabelTbl.KARTEIFACH_ID, editedVokabel.getKarteifach().getId());
    
    			db.update(VokabelTbl.TABLE_NAME, werte, "_id=?",
    					new String[] { editedVokabel.getId().toString() });
    und so sieht meine Tabelle aus:
    Code:
    String ID = "_id";
    	String FRAGE = "frage";
    	String ANTWORT = "antwort";
    	String FEHLERQUOTE = "fehlerquote";
    	String PHASE_ID = "vokabel.phase_id";
    	String KARTEIFACH_ID = "vokabel.karteifach_id";
    
    	String TABLE_NAME = "vokabel";
    
    	String SQL_CREATE = "CREATE TABLE IF NOT EXISTS vokabel ( "
    			+ " _id INTEGER PRIMARY KEY AUTOINCREMENT,"
    			+ " frage TEXT NOT NULL," + " antwort TEXT NOT NULL,"
    			+ " fehlerquote INTEGER NOT NULL," + " phase_id INTEGER NOT NULL,"
    			+ " karteifach_id INTEGER NOT NULL)";
    Kann mir jemand den Fehler sagen ich finde hier einfach kein Fehler, vorallem nicht near "."???
     
  2. Fr4gg0r, 19.05.2010 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Vielleicht dürfen Spaltennamen keinen "." einthalten?

     
  3. swordi, 19.05.2010 #3
    swordi

    swordi Gewerbliches Mitglied

    das meint er nicht als spaltenname

    eventuell musst du da einen alias verwenden

    UPDATE vokabel AS v SET antwort=?, v.karteifach_id=?, v.phase_id=?, frage=?, fehlerquote=? WHERE _id=?
     
  4. quiddix, 19.05.2010 #4
    quiddix

    quiddix Threadstarter Android-Hilfe.de Mitglied

    Hi,

    du hattest recht ich habe die Punkte entfernt, und danach war der Fehler weg. Ich hatte mir das irgendwie angewöhnt, dass ich für Relationen auf andere Tabellen den Namen der eigenen Tabelle voranstelle. Das wird bei normalem SQL-Befehl auch richtig interpretiert also [Tabellenname].[Spaltenname]. Offensichtlich verhaspelt sich jedoch db.update() hier. Deshalb habe ich nun einfach das ganze nur noch als [Spaltenname].

    Ich denke das mit dem Alias würde so nicht funktionieren, da der SQL Code ja beim Benutzen von ContentValues automatisch generiert wird. Falls ich hier falsch liege bitte verbessern, dann lerne ich schon wieder was dazu.

    Danke aufjedenfall an euch beide, das Problem ist gelöst :)
     
  5. swordi, 19.05.2010 #5
    swordi

    swordi Gewerbliches Mitglied

    das würde heißen ich könnte nie ein update machen, welches 2 tabellen braucht, die zufällig gleiche spaltennamen haben.

    glaub nicht, dass es so eingeschränkt ist.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Fehler beim Projekt importieren Android App Entwicklung 03.10.2017
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[NON-DEV] ADB -Nach Tutorial zur Speichererweiterung - Installation von Apps schlägt fehl Android App Entwicklung 24.06.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[GESCHLOSSEN] APK Zigalign Fehler Playstore Android App Entwicklung 13.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
Wie bekomme ich Map Markers von einer SQL Datenbank Android App Entwicklung 11.03.2017
Tutorial gesucht (Entwicklung,SQL Verbindung) Android App Entwicklung 03.03.2017
Du betrachtest das Thema "SQL Fehler" im Forum "Android App Entwicklung",