2013-02-12 74 views
0

我正在创建一个基于数据库的应用程序,它需要在特定列中搜索数据库中的名称,然后列出所有由关键字过滤的条目。 例如 数据库条目:Android SQLite:如何搜索数据库中的特定值?

1 Test 123 chicken 

如果有人搜索鸡肉,它将输出或直接向条目1.

+0

嗨,你能帮我吗? https://stackoverflow.com/q/43204043/4568864 – 2017-07-23 07:40:47

回答

1

你需要使用WHERE条款与SELECT声明以来,

SELECT * 
FROM tableName 
WHERE name = 'chicken' 
1
String arg = "chicken"; 
String query = "select * from table_name where title=\""+ arg + "\""; 
Cursor cs = mSqlDB.rawQuery(query, null); 

您应该在光标cs中选择您的行。

1

假设你有一个按钮,你点击它...尝试它:

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()); 
        } 
       } 

      } 
     }); 
+0

但我最好说你的方法,我有两个类。 DbMain扩展Main。 DbMain处理数据库。主要处理所有的Button和EditText函数。从我在你的例子中看到的,你使用数据库的游标函数与按钮在同一个类中。由于我如何做这项工作。它似乎没有工作。我可能做错了什么。是否有可能让该函数返回值? – Malaka 2013-02-13 14:40:42

相关问题