2017-12-17 2 views
-3

Meine Datenbank hat einige Zeilen, die einfache Anführungszeichen wie "Uhr" enthalten. wenn ich versuche, Zeilen zu lesen, das Zitat enthalten, App abgestürzt und Fehler ist:Wie lese ich Daten aus einer Datenbank, die ein einzelnes Zitat enthält?

android.database.sqlite.SQLiteException: near "clock": syntax error (code 1): , while compiling: SELECT m FROM 'en_fa' WHERE w='o'clock'

Ich versuche Apostroph zu entkommen, indem sie:

if (mean.contains("'")){ 
     word.replaceAll("'" , "''"); 
    } 

aber gleiche Syntaxfehler auftreten.

versuchen auch Apostroph durch Schlepptau in SQLiteStudio für alle Zeilen zu ersetzen:

UPDATE en_fa SET m = replace(w, '''', '''''') ; 

aber nicht funktionieren und Fehler:

Error while executing SQL query on database 'database': near "''": syntax error

entschuldigen Sie mich für mein schlechtes Englisch.

+3

Doppel der Apostroph: 'o''clock'. Dies ist ** grundlegende SQL **. Und '' en_fa'' sollte als 'en_fa' geschrieben werden. –

+0

versuche das, funktionierte für mich: SELECT * FROM TABLE_NAME WHERE COLUMN_NAME =' 'Uhr' –

Antwort

0

Ich finde Lösung. Ich muss String myNewWord = word.replaceAll("'" , "''"); verwenden und myNewWord verwenden, um in der Datenbank zu suchen. danke an alle.

0

Der richtige Weg, String-Werte in SQL-Anweisungen zu verwenden, ist Parameter zu verwenden:

cursor = db.rawQuery("SELECT m FROM en_fa WHERE w = ?", 
        new String[]{ "o'clock" }); 
Verwandte Themen