2012-02-25 67 views
1

海蘭傢伙, 我是新來的Android,但很熱心創建我的第一個應用程序:)所以很可能這將是不是我的有關數據庫的:)Android的SQL數據庫無法找到正確的行

我的最後一個問題創建一個數據庫與教程,我可以添加項目,刪除等。我想找到它的項目,並將結果到一個cretad列表視圖。到目前爲止:

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, todoItems)); 
      ListView lv = getListView(); 
      lv.setTextFilterEnabled(true); 

     hornot info = new hornot(this); 
     info.open(); 


     Cursor c = info.getSearched("108"); 

     if (c.moveToFirst()) 
     { 
     do{ 
        todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2)); 
      }while (c.moveToNext()); 
     } 
      if (todoItems.size() > 0) 
      { 
     lv.setAdapter(new ArrayAdapter<String>(sqlsearch.this,android.R.layout.simple_list_item_1, todoItems)); 
      } 



      info.close(); 

     } 

我的數據庫中getSearched()函數如下:

public Cursor getSearched(String qq) { 
     String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS}; 
      return ourDatabase.query(DATABASE_TABLE, columns, qq , null, null, null, null); 


    } 

正如你看到的,我想選擇包含在它的QQ行。但是我想選擇KEY_ROWID等於108的行。此刻,我將整個表格轉換爲列表視圖,而不僅僅是需要的行。這段代碼有什麼問題?

在此先感謝

回答

1

我不知道如果我理解你想要什麼,但如果你想獲得與KEY_ROWID 108的記錄,使用查詢方法的第三個參數(即是WHERE選擇條款的查詢):

public Cursor getSearched(String qq) { 
     String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS}; 
      return ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + " = " + qq , null, null, null, null); 
} 
+0

是的,這是我需要的語法:)謝謝! – 2012-02-25 16:10:35

相關問題