我正在创建一个基于数据库的应用程序,它需要在特定列中搜索数据库中的名称,然后列出所有由关键字过滤的条目。 例如 数据库条目: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