Android开发7——android.database.CursorIndexOutOfBoundsException:Index -1 requested
android中數據庫處理使用cursor時,游標不是放在為0的下標,而是放在為-1的下標處開始的。
也就是說返回給cursor查詢結果時,不能夠馬上從cursor中提取值。
下面的代碼會返回錯誤
User u = null;
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from user where id = ?", new String[] { id.toString() });
Integer uid = cursor.getInt(cursor.getColumnIndex("id"));
String uname = cursor.getString(cursor.getColumnIndex("name"));
float uamount = cursor.getFloat(cursor.getColumnIndex("amount"));
u = new User(uid, uname, uamount);
?
正確的用法
User u = null;
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from user where id = ?", new String[] { id.toString() });
if (cursor.moveToFirst())
{
?Integer uid = cursor.getInt(cursor.getColumnIndex("id"));
?String uname = cursor.getString(cursor.getColumnIndex("name"));
?float uamount = cursor.getFloat(cursor.getColumnIndex("amount"));
?u = new User(uid, uname, uamount);
}
?
http://blog.sina.com.cn/s/blog_67aaf44401015xtl.html
轉載于:https://www.cnblogs.com/chen110xi/p/3247317.html
總結
以上是生活随笔為你收集整理的Android开发7——android.database.CursorIndexOutOfBoundsException:Index -1 requested的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各种 分页存储过程整理
- 下一篇: SD question:客户主数据中“合