Continuo a provare a utilizzare i caratteri jolly in una ricerca in un'app per Android e continuo a incorrere in errori.Wildcard non funziona in SQLite
sto eseguendo una ricerca relativa alla mia domanda utilizzando la stringa qui sotto:
Cursor c_name = b.query("namedrxns", new String[] { "_id", "name" },
"name LIKE %?%", new String[] { query }, null, null, null);
quando uso name LIKE %?%
o name=%?%
ottengo un% "vicino '': errore di sintassi:, durante la compilazione: SELECT _id, nome FROM namedrxns WHERE nome =%?% "errore.
ma con name LIKE '%?%'
o name='%?%'
ottengo invece "legare o di un indice di colonna fuori portata: gestire 0x40cb70"
Qualcuno potrebbe dirmi che cosa sto facendo male?
Grazie!
Che ne pensi di aggiungere il carattere jolly alla variabile passata, piuttosto che averla nella query? –
Funziona perfettamente, grazie! Mi sembra un po 'sciocco, ma non importa. Sarei felice di segnarti se lo metti come risposta :) –
Suona comunque. I parametri di stringa vincolati avranno fondamentalmente delle virgolette e cose del genere, quindi potresti trovare qualcosa come name =% 'David'% che non è valido SQL. La mia conoscenza di SQL non è esattamente all'altezza, quindi qui c'è un po 'di lavoro in più rispetto a quello che posso dire, ma questo dovrebbe darti un'idea del perché debba essere fatto come i pony di OMG descrivono. –