年、メーカー、モデルの3つの列を持つ1つのテーブルを持つcarssqliteデータベースがあります。以下のクエリで、「ford」のような1つのフレーズを検索すると、すべてのフォードの結果、つまり「1964」が表示され、その年のすべての車が表示されます。ただし、「1964ford」は「結果が見つかりません」またはnullを返します。「1964fordmustang」のように、3列すべてから検索語を入力できるようにクエリを変更するにはどうすればよいですか。はい、私は1964年のフォードマスタングのようなものがないことを知っています、それは1964年半です。しかし、私のDBには1964年のフォードマスタングの行があるので、例として「1966年のフォードマスタング」を使用しましょう。
public Cursor searchDB(String query) {
return db.query(true, DB_TABLE, new String[] { KEY_ROWID, KEY_YEAR, KEY_MAKE,
KEY_MODEL }, KEY_YEAR + " LIKE" + "'%" + query + "%' OR " + KEY_MAKE +
" LIKE" + "'%" + query + "%' OR " + KEY_MODEL + " LIKE" + "'%" + query + "%'",
null, null, null, null, null);
}
+の代わりにANDを使用しようとしましたが、クラッシュします。私はアンドロイド2.2を使用しています。