1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung 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
Integer-Wert übertragen auf zweite Activity Android App Entwicklung 17.11.2017
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[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
Du betrachtest das Thema "SQL-Werte mit Hochkommas" im Forum "Android App Entwicklung",