我试图从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;
}
答案 0 :(得分:0)
感谢您解读错误消息。实际上,错误消息column -1
的一部分意味着:没有这样的列。
非常感谢你指出它,它终于解决了我的问题!