我正在创建一个基于数据库的应用程序,该应用程序需要在特定列中的数据库中搜索名称,然后列出由关键字过滤的所有条目。例如数据库条目:
1 Test 123 chicken
如果有人搜索鸡肉,它将输出或直接指向条目 1。
String arg = "chicken";
String query = "select * from table_name where title=\""+ arg + "\"";
Cursor cs = mSqlDB.rawQuery(query, null);
您应该在光标 cs 中有您选择的行。
您需要在语句中使用WHERE
子句SELECT
,
SELECT *
FROM tableName
WHERE name = 'chicken'
想象一下,您有一个按钮,然后单击它...尝试一下:
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());
}
}
}
});