我已经在Android应用程序中设置了SQLite数据库。我使用了google的教程,并且我的数据库有效(我可以将数据放入其中并以其他形式读出)。现在,我想获取列价格并将其放在图表中。我可以使用硬编码值绘制图形。我正在努力:
Cursor item0 = _dbHelper.fetcAllBoughtItems();
startManagingCursor(item0);
String xaxis[]=new String[4];
xaxis[0]= item0.getString(item0.getColumnIndexOrThrow(databaseManager.KEY_BOUGHT_ITEM));
xaxis[1]="2007";
xaxis[2]="2008";
xaxis[3]="2009";
我收到关注错误(我知道这是在告诉我什么地方出了问题,但我无法解决它)
04-27 10:03:21.382: ERROR/AndroidRuntime(6920): java.lang.RuntimeException: Unable to start activity ComponentInfo{Adforce.files/Adforce.files.summarySpendBudget}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 5
有谁可以帮助我吗?
问候
编辑:
fetchAllBoughtItems()代码为:
public Cursor fetchAllBoughtItems(){ //function to fetch all bought items return mDb.query(DATABASE_TABLE_ItemB, new String[]{KEY_ROWID_ItemB, KEY_BOUGHT_ITEM, KEY_PRICE_ItemB }, null, null, null, null, null); }
最佳答案
fetcAllBoughtItems()返回不带名为databaseManager.KEY_BOUGHT_ITEM的列的游标
修复fetcAllBoughtItems()
编辑:
在item0.moveToFirst()
之前添加item0.getString(...
并检查是否返回true