我創建搜索界面使用UNION搜索多個表。我的問題是,當我嘗試搜索該單詞時,最後一個表格中的數據是唯一不斷出現的內容。如何在條件符合的情況下正確搜索表格,名稱應該根據其第一個字母進行搜索。聯盟與WHERE子句 - Android的Eclipse的
這裏是我的代碼:
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
if (searchText.getText().toString().length() > 0) {
cursor = db.rawQuery("SELECT _id AS _id, name AS name, desc AS desc FROM comm_acc WHERE name LIKE ?" +
" UNION SELECT _id AS _id, name AS name, desc AS desc FROM comm_filems WHERE name LIKE ? " +
"UNION SELECT _id AS _id, name AS name, desc AS desc FROM comm_psu WHERE name LIKE ? " +
"UNION SELECT _id AS _id, name AS name, desc AS desc FROM comm_shells WHERE name LIKE ? " +
"UNION SELECT _id AS _id, name AS name, desc AS desc FROM comm_sic WHERE name LIKE ? " +
"UNION SELECT _id AS _id,name AS name, desc AS desc FROM comm_stp WHERE name LIKE ?",
new String[]{searchText.getText().toString() + "%"});
adapter = new SimpleCursorAdapter(
getActivity(),
R.layout.search_command_list_item,
cursor,
new String[] {"name", "desc"},
new int[] {R.id.commandName, R.id.commandDesc}, 0);
setListAdapter(adapter);
}
else {
}
}
});
}
您在SQL查詢6個參數,但是你只提供一個在參數數組中。 – Rajesh 2014-12-02 15:40:17
那麼我該如何解決它? :( – user3398666 2014-12-02 15:55:42