如何使Cursor对象遍历各个SQL数据库列



我使用的是Android,我要处理的是一个数据库,该数据库存储了每行中关联的多个数据点,按表中的列排序。我想做的是提取整行数据,并将它们分配给ArrayList中的元素。我采用的方法(似乎过于复杂)是以整个表为目标,试图遍历每一列,并将每一列的数据点分配给对象的一个变量(在ArrayList.的元素中)

我希望我能够遍历每一行,并将数据(int、Strings、doubles)分配给ArrayList特定元素中对象的变量,然后当我进入下一行时,开始将相关数据输入到列表的新元素中。这是我的:

public Cursor getAssignments() {
    return getReadableDatabase().query(false, ASSIGNMENT_TABLE, COLUMN_TITLES, 
            null, null, null, null, " ORDER BY "+ASSIGNMENT_COLUMN_NAME, null);
}
public ArrayList<Inputted> getListOfAssignments () {
    Cursor c = getAssignments();
    ArrayList<Inputted> assignList = new ArrayList<Inputted>();
    //must return assignList... but how to traverse?!
}

您可以使用此处列出的这些方法,但我希望这些方法就是您要查找的方法。首先,获取列数。然后您可以迭代列。。。

int     getColumnCount()
    Return total number of columns
String  getColumnName(int columnIndex)
    Returns the column name at the given zero-based column index.
int     getType(int columnIndex)
    Returns data type of the given column's value.
String  getString(int columnIndex)
    Returns the value of the requested column as a String. 
    (The other types are available and documented at the above link)

最新更新