Android: SQL-RawQuery mit Platzhalter (%)

8

Ich habe eine rawQuery() mit folgender SQL-Zeichenkette ähnlich der folgenden:

%Vor%

Aber jetzt muss ich einen Platzhalter in meine Suche aufnehmen, sodass meine Abfrage ungefähr so ​​aussieht:

SELECT Spalte FROM Tabelle WHERE Spalte LIKE 'Searchstring%'

Wenn die Abfrage jedoch einfache Anführungszeichen enthält, wird die folgende SQLite-Ausnahme ausgelöst: android.database.sqlite.SQLiteException: bind or column index out of range

Wie kann ich eine rawQuery mit selectionArgs innerhalb einer SQL-Abfrage mit Platzhalterelementen ausführen?

    
Mannaz 09.05.2011, 09:19
quelle

3 Antworten

23

Sie müssen den % an selectionArgs selbst anhängen:

%Vor%

Hinweis: Dementsprechend funktionieren % und _ in der searchString Zeichenfolge immer noch als Platzhalter!

    
Mannaz 09.05.2011, 09:24
quelle
17

Das Sqlite-Framework setzt automatisch einzelne Anführungszeichen um? Zeichen intern.

%Vor%

Das ist es.

    
Brad Hein 26.06.2011 22:17
quelle
0
Brad Heins und Mannazs Lösung funktionierte nicht für mich, aber das tat:

%Vor%     
Solata 17.11.2014 14:28
quelle

Tags und Links