2013-02-12 45 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

相關問題