2012-05-04 66 views
4

我嘗試使用以下工作:使用selectionArgs兩個並不在查詢

String dbquery = "Select * From stops where stopname LIKE '%?%' LIMIT 100"; 
String[] uinputarray = {uinput}; 
Cursor c = sDB.rawQuery(dbquery, uinputarray); 

這始終崩潰。

奇怪的是,如果我使用的舊測試代碼:

Cursor c = sDB.rawQuery("Select * From stops where stopname LIKE '%" + uinput + "%' LIMIT 100", null); 

它完美的作品。

我一直在閱讀selectionArgs,並且我真的不能看到我所做的任何錯誤。

我在做什麼錯?

謝謝你們

回答

7

您必須將%追加到selectionArgs兩個本身:

selectionArgs兩個=新的String [] {搜索字符串+ 「%」};光標c = db.rawQuery(「SELECT column FROM table WHERE column =?」,selectionArgs);

注意:因此searchString字符串中的%和_仍然作爲通配符使用!

+1

謝謝!所以這就是我做錯了!它現在很好用。 我會給你一個upvote,但它需要更多的聲譽。 (對不起) – Mark

+0

如果答案是正確的,你應該將此標記爲正確答案。 –