我正在創建一個基於數據庫的應用程序,它需要在特定列中搜索數據庫中的名稱,然後列出所有由關鍵字過濾的條目。 例如 數據庫條目:Android SQLite:如何搜索數據庫中的特定值?
1 Test 123 chicken
如果有人搜索雞肉,它將輸出或直接向條目1.
我正在創建一個基於數據庫的應用程序,它需要在特定列中搜索數據庫中的名稱,然後列出所有由關鍵字過濾的條目。 例如 數據庫條目:Android SQLite:如何搜索數據庫中的特定值?
1 Test 123 chicken
如果有人搜索雞肉,它將輸出或直接向條目1.
你需要使用WHERE
條款與SELECT
聲明以來,
SELECT *
FROM tableName
WHERE name = 'chicken'
String arg = "chicken";
String query = "select * from table_name where title=\""+ arg + "\"";
Cursor cs = mSqlDB.rawQuery(query, null);
您應該在光標cs中選擇您的行。
假設你有一個按鈕,你點擊它...嘗試它:
Button saveButton = (Button) findViewById(R.id.search_button);
saveButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
String searchStr = search.getText().toString(); // Here is "chicken"
Cursor c = sampleDB.rawQuery("SELECT Id, Name, Price FROM "+SAMPLE_TABLE_NAME+" WHERE Name like '"+searchStr+"'", null);
if (c != null) {
if (c.moveToFirst()) {
do {
int idNumber = c.getInt(c.getColumnIndex("Id"));
Log.v("IdNumber", id);
}while (c.moveToNext());
}
}
}
});
但我最好說你的方法,我有兩個類。 DbMain擴展Main。 DbMain處理數據庫。主要處理所有的Button和EditText函數。從我在你的例子中看到的,你使用數據庫的遊標函數與按鈕在同一個類中。由於我如何做這項工作。它似乎沒有工作。我可能做錯了什麼。是否有可能讓該函數返回值? – Malaka 2013-02-13 14:40:42
嗨,你能幫我嗎? https://stackoverflow.com/q/43204043/4568864 – 2017-07-23 07:40:47