2

AndroidでSQLiteデータベースを使用しています。次のようなクエリを使用してデータベースにクエリを実行したい

SELECT * FROM Persons WHERE City LIKE '%nes%'

これは、 httpSandnes://www.w3schools.com/sql/sql_wildcards.aspのように、文字パターン「nes」の一致に基づいて都市を返します。

しかし、これをアンドロイドに入れようとすると

query (SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder)

メソッド、を使用して

selection = KEY_CODE + " LIKE ?";およびselectionArgs = new String[] {"'%" + query + "%'"};

結果が返されません。

Androidクエリでこれを行うことはできますか?もしそうなら、私はそれをどのように書くべきですか?そうでない場合、別の方法はありますか?

前もって感謝します。

4

1 に答える 1

6

次のような「好感の持てる」パラメーターを作成しています。

'%do you like me%'

アポストロフィはそこにあるべきではありません: それらはパターン自体ではなく、リテラル構文に属します:

%now you like me%

使用する

selectionArgs = new String[] {"%" + query + "%"};
于 2013-01-10T16:12:10.583 に答える