2014-01-26 64 views
0

我嘗試使用RawQuery方法從數據庫中提取數據,但我似乎是空行...數據庫中存在actully數據,我試圖拉.......任何人發現任何錯誤....rawquerry數據光標顯示空字段

db = dbhelper.getReadableDatabase(); 

     String selectSQL = "Select * from " + Wish_list_Table.TABLE_NAME 
       + " where " + Wish_list_Table.COL_CATEGORY + " = ?"; 

     String[] add = { " HOME" }; 

     TextView textView = getGenericView(); 
     Cursor selectdata = db.rawQuery(selectSQL, add); 
     Log.i("select", "" + selectdata.getCount()); 

這個類的數據庫表屬性......

public static abstract class Wish_list_Table implements BaseColumns { 
    public static final String TABLE_NAME = "WISH_LIST1"; 
    public static final String COL_NAME = "NAME"; 
    public static final String COL_TIME = "TIME"; 

    public static final String COL_DATE = "DATE"; 
    public static final String COL_CATEGORY = "CATEGORY"; 

    public static final String COL_DESC = "DESC"; 

} 

這是數據庫映像...

enter image description here

+0

你可以請出示你的數據庫的一部分,其中的類家庭存在的記錄?你確定HOME是否大寫並註明家庭或家庭? –

回答

1

看看這個:

String[] add = { " HOME" }; 

君不見有一個SPACE 「HOME」 過嗎? 它永遠不會匹配數據庫中的值!

所以你總是會得到一個空的光標。
替換這一點,聲明:

String[] add = { "HOME" }; 

,你會得到所有那些類別等於「家」

0

嘗試一些東西像下面這樣:

String[] add = { "HOME" }; 

     String [] columns = {"NAME" , "CATEGORY"}; 


     Cursor cursor = db.query(Wish_list_Table.TABLE_NAME, columns, Wish_list_Table.COL_CATEGORY + " = ?", add, null, null, null) 

      while(cursor.moveToNext()){ 
       String name = cursor.getString(cursor.getColumnIndex(ArrayList_table.COL_NAME)); 
       textView.setText(name); 
      } 
      cursor.close(); 

但要確保在數據庫中的數據存在。

+0

still cursor.getcount();是顯示0 .. – bhavdip

+0

任何方法來調試與數據庫表.... plz..tell我 – bhavdip

+0

請告訴我你是如何創建你的表 –