2012-05-04 5 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を読んできました。正直なところ、私がやったことに間違いはありません。

私は間違っていますか?あなたがselectionArgs自体に%を追加する必要が

おかげ人

答えて

7

selectionArgs =新しいString [] {searchStringの+ "%"}。

カーソルc = db.rawQuery( "SELECT column FROM table WHERE column =?"、selectionArgs);

注:したがって、searchString文字列の%と_もワイルドカードとして機能します。

+1

ありがとうございました!それが私が間違っていたことです!今は素晴らしい作品です。 私はあなたにupvoteを与えるだろうが、より多くの評判が必要です。 (申し訳ありません) – Mark

+0

答えが正しい場合は、正解とマークしてください。 –

関連する問題