competerH_programing的专栏

这些都是我平时做项目遇到的问题以及解决方法,拿出来与大家分享共同提高...

android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1

android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1

android 中数据库处理,特别是使用cursor时,注意初始位置,好像是从下标为-1的地方开始的,也就是说一次查询中,返回给cursor查询结果时,不能够马上从cursor中提取值。

比如,下面的代码会返回错误,android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 0:

int score = ((Cursor)getReadableDatabase().query(TABLE_NAME, new String[]{"learned"}, "_id=?", new String[]{""+id}, null, null, null,"1")).getInt(0);


正确的用法:

Cursor cursor = getReadableDatabase().query(TABLE_NAME, new String[]{"learned"}, "_id=?", new String[]{""+id}, null, null, null,"1"); int learned=0; if(cursor.moveToFirst()){ score= cursor.getInt(0); } cursor.close();


 

阅读更多
个人分类: android
上一篇使用MyEclipse6.0 工具Create a new connection driver (SQL SERVER 2005)
下一篇Android ListView实现Table行列效果
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭