从SQLite数据库中检索数据

时间:2012-08-02 07:57:09

标签: android sqlite android-listview

如何从适配器类中检索sqlite数据库中的数据并插入到listview ???

我遇到了困难,一天都在编码。晚上和谷歌搜索不停,但我只是不明白我打开它们时的链接。我最近开始自己学习android编程......

我已附上我的代码

public Cursor RetrieveActivityCursor(String NRIC){
    String where = NRIC;

Cursor cursor = _db.query(DATABASE_TABLE,new String[]{ MOBILE_HOUSE_VISIT_ID, ELDERLY_NAME,
        ELDERLY_NRIC, ELDERLY_DATE_TIME, PHYSICAL_HEALTH_STATUS, MENTAL_HEALTH_STATUS} , where, null, null, null, null);
//Cursor cursor = _db.query(DATABASE_TABLE, new String[] { ELDERLY_NAME,
        //ELDERLY_NRIC, DATE_TIME, PHYSICAL_HEALTH_STATUS, MENTAL_HEALTH_STATUS }, null, null, null, null, null);
return cursor;
}

此代码来自我的适配器类,必须传入nric并返回插入listview的datetime值

我不太确定如何编码来调用此方法。

3 个答案:

答案 0 :(得分:1)

如果您正在扩展SqliteOpenHelper以进行数据库处理并使用另一个扩展Activity的类,那么您在其中拥有ListView,在Activity类中使类的对象成为,

 YourDBClass helperDB;
 helperDB = new HelperDB(YourActivityClass.this);

并从数据库中检索数据。

使光标参考像,

 Cursor cursor;

然后,这样做,

 cursor = helperDB.RetrieveActivityCursor(NRIC);
 cursor.moveToFirst();
 while(!cursor.isAfterLast()) {
    // here you have to collect the data in the collection object.
    cursor.moveToNext();
 }
 cursor.close();

就是这样!您已经完成了从数据库中恢复数据

答案 1 :(得分:0)

你需要迭代游标,如下所示:

Cursor cursor = RetrieveActivityCursor(NRIC);
if (cursor != null && cursor.moveToNext())
do {
    String str = cursor.getString(cursor.getColumnIndex("your_column"));

   // do something, your code

} while (cursor.moveToNext());

答案 2 :(得分:0)

您想要检索日期值的位置,请执行以下操作。

 Cursor cursor = RetrieveActivityCursor(NRIC); 
 if(mCursor.moveToFirst()) {            
     do{ 
         String date_time = cursor.getString(cursor.getColumnIndex(column_name));
     } while(mCursor.moveToNext());
 }
 cursor.close();