Ich versuche weiterhin Wildcards in einer Suche in einer Android-App zu verwenden, und weiterhin in Fehler zu laufen.Wildcard funktioniert nicht in SQLite
ich eine Suche auf meine Anwendung Ausführen der Zeichenfolge unter Verwendung von:
Cursor c_name = b.query("namedrxns", new String[] { "_id", "name" },
"name LIKE %?%", new String[] { query }, null, null, null);
wenn ich name LIKE %?%
oder name=%?%
ich eine „nahe‚% erhalten‘: Syntaxfehler:, beim Kompilieren: SELECT _id, name FROM namedxns WHERE name =%?% "Fehler.
aber mit name LIKE '%?%'
oder name='%?%'
I „out of range binden oder Spaltenindex: Griff 0x40cb70“ statt bekommen
mir jemand bitte sagen konnte, was mache ich falsch?
Danke!
Was ist mit dem Hinzufügen des Platzhalters zu der übergebenen Variable, anstatt es in der Abfrage zu haben? –
Funktioniert perfekt, danke! Das erscheint mir ein bisschen albern, aber egal. Ich würde mich freuen, Sie ankreuzen, wenn Sie es als Antwort setzen :) –
Hört sich aber richtig an. Gebundene String-Parameter haben im Grunde genommen Anführungszeichen und so etwas, wie zB name =% 'David'%, was ungültiges SQL ist. Mein SQL-Wissen ist nicht ganz auf dem neuesten Stand, also gibt es hier etwas mehr Arbeit als das, was ich sagen kann, aber das sollte dir eine Idee geben, warum es so gemacht werden muss, wie OMG Ponies es beschreibt. –