从android上的sqlite获取数据

时间:2017-04-14 10:58:58

标签: java sqlite

我试图从Android上的SQLite数据库中获取数据。但是,当我运行代码并看到Android监视器时,我收到此消息:

  

04-14 15:27:27.737 11177-11177 / com.example.daniel.toto E / CursorWindow:无法从具有6行,5列的CursorWindow中读取第0行第-1列。

这是我用来从数据库中获取数据的数据库助手类中的方法:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/icon_on" android:state_selected="true"/>
    <item android:drawable="@drawable/icon_off"/> <!-- default -->
</selector>

tab.setIcon(R.drawable.yourselectorname)

这是我在onCreate方法中将其称为活动的地方:

public ArrayList<String> getAllSales() {
    ArrayList<String> array_list = new ArrayList<String>();

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res;
    res = db.rawQuery( "select * from sales", null );
    if (res != null) {
        res.moveToFirst();

        while (res.isAfterLast() == false) {
            array_list.add(res.getString(res.getColumnIndex(SALES_TABLE_NAME)));
            res.moveToNext();
        }
        return array_list;
    } else {
        array_list = null;
    }
    return array_list;
}

1 个答案:

答案 0 :(得分:0)

感谢您解读错误消息。实际上,错误消息column -1的一部分意味着:没有这样的列。 非常感谢你指出它,它终于解决了我的问题!