1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. FireRider, 14.01.2011 #1
    FireRider

    FireRider Threadstarter Junior Mitglied

    Hallo Leute

    In meiner App verwende ich eine SQLite Datenbank, in die jeweiligen Tabellen werden Eingaben die vom Benutzer kommen gespeichert.
    Funktioniert alles wunderbar, allerdings hat mir ein Freund gestern gesagt ich solle mal irgendwo ein Hochkomme (also ein ' ) eingeben und siehe da, ein FC.
    Weiss jemand wie ich diesen Error abfangen kann? Ist es möglich das ' in die Spalten zu schreiben oder soll ich den Benutzer darauf aufmerksam machen dass das nicht möglich ist?

    Danke und Gruss, FireRider

    PS: Gibt es noch mehr solche Zeichen, die zu FC's führen?. Habe gerade noch ein paar getestet, bis auf ' gingen alle (z.B. & " - ...)
     
  2. swordi, 14.01.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    mach einfach beim insert

    DatabaseUtils.sqlEscapeString(DEIN_STRING);

    damit gehts
     
  3. FireRider, 14.01.2011 #3
    FireRider

    FireRider Threadstarter Junior Mitglied

    Danke für die Antwort.
    Hat mir leider nicht geholfen, habe immer noch den gleichen Fehler.
     
  4. realgun, 15.01.2011 #4
    realgun

    realgun Android-Hilfe.de Mitglied

    Wie erzeugst Du denn den Insert / Update - Befehl? Hast Du es schon mal mit Paramentern versucht?
     
  5. swordi, 15.01.2011 #5
    swordi

    swordi Gewerbliches Mitglied



    zeig mal den code, wenn ich dein problem richtig verstanden habe, gehts ganz sicher so, wie ich es geschrieben habe.
     
  6. FireRider, 15.01.2011 #6
    FireRider

    FireRider Threadstarter Junior Mitglied

    Mein Insert-Befehl sieht so aus:
    Code:
    myDB.execSQL("INSERT INTO " + TABLE_NAME + " (titel, datum, zeit) VALUES ('" + titel + "','" + datum + "','" + zeit + "');); 
    So hat es mit EscapeString ausgesehen (Habe es da vorerst nur mit dem Titel getestet):
    Code:
    myDB.execSQL("INSERT INTO " + TABLE_NAME + " (titel, datum, zeit) VALUES ('" + DatabaseUtils.sqlEscapeString(titel) + "','" + datum + "','" + zeit + "');); 
    Die Spalten sind allesamt VARCHAR und die Werte die ich einfülle sind Strings.
     
  7. realgun, 15.01.2011 #7
    realgun

    realgun Android-Hilfe.de Mitglied

    Dann versuch es doch mal mit "Prepared Statements":
    Code:
    SQLiteStatement stmt = myDB.compileStatement("INSERT INTO " + TABLE_NAME + " (titel) VALUES (?)";);
    stmt.bindString(1, "Text mit 'Hochkomma'");
    stmt.execute();
    
     
  8. FireRider, 15.01.2011 #8
    FireRider

    FireRider Threadstarter Junior Mitglied

    Danke, damit klappt es!
     
  9. swordi, 15.01.2011 #9
    swordi

    swordi Gewerbliches Mitglied

    du machst ein sqlescapestring und trotzdem ' drum herum. dann ist es auch kein wunder das es nicht klappt ;)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Spinner feste double Werte zuordnen Android App Entwicklung 24.04.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
SQL-Abfrage über zwei Tabellen realisieren Android App Entwicklung 12.02.2017
[APPINVENTOR] Wie weise ich Werte aus Slidern zu ? Android App Entwicklung 07.02.2017
Problematik mit der Ausgabe von SQL Inhalten (ljava.lang) Android App Entwicklung 23.11.2016
Du betrachtest das Thema "SQL-Werte mit Hochkommas" im Forum "Android App Entwicklung",