如何检索单个sqlite列并将行存储到数组中

时间:2013-02-03 13:07:01

标签: android sqlite android-layout android-emulator android-sqlite

我是android新手,我使用Sqlite将一个double类型的数组存储到名为“KEY_VALUE”的列中

public long createEntry(Double rates) { 
    ContentValues cv = new ContentValues();
    cv.put(KEY_VALUE, rates);
    return ourDatabase.insert(TABLE, null, cv);
}

我通过另一个类

将数据放入这里的列中
for(i=0;i<37;i++){
    entry.createEntry((theRSSHandler.rates()[i]));
    }

现在我想检索我保存的列并将每行作为数组元素,我见过并尝试过其他类似的解决方案,但它们没有用。 这是我用来尝试获取列数据的方法但它失败了。

public Double[] getData() {
    String[] col = {KEY_VALUE}; 
    Cursor c = ourDatabase.query(TABLE, col, KEY_VALUE , null, null, null, null);
    Double[] result = null;

    if(c != null){
        c.moveToFirst();
    }

    int iVal = c.getColumnIndex(KEY_VALUE);

    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        result[c.getPosition()] = c.getDouble(iVal);
    }
    return result;
}

1 个答案:

答案 0 :(得分:1)

您正在尝试将值放入尚未初始化的数组中。

  Double[] result = null;

需要跟进像......

这样的事情
  result = new Double[100];

我想你可能想用光标指向的记录数

来初始化它
  result = new Double[c.count()];