2017-10-14 2 views
2

Ich extrahiere Daten aus einer Datei und füge sie in eine SQLite db ein.Sonderzeichen in Codename entziehen Eine Zeichenfolge

Alles funktioniert gut, bis die Daten Sonderzeichen haben.

z. Wenn ich einen Einsatz mit einer URL versuche nicht, weil der ‚//‘

Oder ..., wenn ich versuche und installieren „Ich werde“ es nicht auf dem „'“

(im Moment I verwende die REPLACE-Funktion als Workaround - aber das hat seine eigenen Probleme)

Bitte beraten, wie ich diese Zeichen entkommen könnte?

Danke

Antwort

1

Ich schlage vor, die Version der SQL-Abfrage verwenden, die ein params Argument und mit damit einverstanden, dass, da es nicht zu entkommen erfordert. Wenn Sie Ihre Daten mit einfachen Anführungszeichen ' versehen, müssen Sie für die meisten Zeichen nicht flüchten.

+0

Ich bin mir nicht sicher, ob ich folge - hier ist mein Code db = Display.getInstance(). OpenOrCreate ("myDb.db"); String sqlStringRaw = "In myTable (col1, col2) -Werte einfügen ('" + col1Val + "', '" + col2Val + "')"; db.execute (sqlStringRaw); Wie Sie sehen können, verwende ich eine parametrisierte Zeichenfolge und ich wickle das Ganze in Anführungszeichen. Debug-Ausgabe: sqlStringRaw = (java.lang.String) "insert into myTable (col1, col2) values ​​('2b8575df5', 'Meine API')" ist hier der Fehler ... [in der Nähe von „s ": Syntaxfehler:] –

+1

Probieren Sie' String sqlStringRaw = "einfügen in myTable (col1, col2) Werte (?,?)"; 'und dann' db.execute (sqlStringRaw, new String [] {col1Val, col2Val}); ' –

Verwandte Themen