名前の特定の列でデータベースを検索し、キーワードでフィルター処理されたすべてのエントリを一覧表示する必要があるデータベース ベースのアプリケーションを作成しています。たとえば、データベース エントリは次のとおりです。
1 Test 123 chicken
誰かが 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());
}
}
}
});