我尝试使用RawQuery方法从数据库中提取数据,但我似乎是空行...数据库中存在的数据,我试图拉动......可以任何人发现任何错误...
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";
}
这是DATABASE IMAGE ...
答案 0 :(得分:1)
看看这个:
String[] add = { " HOME" };
难道你没有看到“HOME”之前有 SPACE 吗? 它永远不会匹配数据库中的值!
所以你总是得到一个空的光标 用以下代码替换该语句:
String[] add = { "HOME" };
你将获得所有CATEGORY等于'HOME'的记录
答案 1 :(得分: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();
但请确保数据库中的数据存在。