我的应用程序中有一个搜索功能。它几乎可以正常工作,我的问题是它只从一开始就捕获类似于 searchWord 的结果。
例如:如果 searchWord 是“ada”,则结果将包含所有以“ada”开头的记录,但不包含其中某处包含“ada”的记录。
我知道它必须只是一点点修改,但这是我做过的第一件数据库处理。
那么我必须如何修改它以搜索任何包含,而不是开始于?
代码:
public Cursor getMatchingFromContacts(String searchWord) throws SQLException {
String queryString = "SELECT _id, full_name FROM "
+ SF_CONTACT_TABLE;
if (searchWord != null) {
searchWord = searchWord.trim() + "%";
queryString += " WHERE " + FULL_NAME + " LIKE ?";
}
String params[] = { searchWord };
if (searchWord == null) {
params = null;
}
try {
Cursor cursor = db.rawQuery(queryString,
params);
if (cursor != null) {
cursor.moveToFirst();
return cursor;
}
} catch (SQLException e) {
Log.e("AutoCompleteDbAdapter", e.toString());
throw e;
}
return null;
}