如何从数据库[光标适配器]获取值并将其存储到java中的数组?

时间:2011-12-19 09:53:16

标签: java android sql database arrays

我想通过执行查询从特定列的数据库中获取值。在我们对光标适配器执行此操作后是否可以执行此操作,或者我们可以在它们之前很好地获得这些值。请使用片段或指南为此提供帮助。

1 个答案:

答案 0 :(得分:2)

Context context = getApplicationContext(); 
final DataBaseHelper db = new DataBaseHelper(context);
...
...
db.createDataBase();
..
...try catch logic etc
....
final Cursor c = db.getAllRows();
....
c.getString(4) // String value of 5th Column in Database

光标适配器到数组

ArrayList<String> mArrayList = new ArrayList<String>(); 
c.moveToFirst(); 
while(!c.isAfterLast()) { 
     mArrayList.add(c.getString(c.getColumnIndex(DataBaseHelper.KEY_NAME)); 
     c.moveToNext(); 
} 

DataBaseHelper类具有以下

public Cursor getAllRows() 
    {
        return myDataBase.query(DATABASE_TABLE, new String[] {
                KEY_ROWID, 
                KEY_NAME,
                KEY_YEAR,
                     KEY_QUOTE,
                     KEY_REF}, 
                null, 
                null, 
                null, 
                null, 
                null);
    }