Android数据库操作查询中Cursor类的问题

Cursor类注意

 最近做一个Android小项目的过程中用到数据库操作,在查询的时候老是出错,代码如下:

 Cursor c=DB.query(TableName, null, selection, selectionArgs, null, null, null);
 if(c!=null){
         c.moveToNext();
         Integer id=c.getInt(c.getColumnIndex("id"));
         String Info=c.getString(c.getColumnIndex("Info"));
        }

后来查看了源码才知道 返回的对象指向一条元素的前一个位置(return A {@link Cursor} object,which is positioned before the first entry),应先进行moveToNext(),而moveToNext()返回一个boolean值,故将代码改为如下问题解决:

Cursor c=DB.query(TableName, null, selection, selectionArgs, null, null, null);
if(c.moveToNext()){
         Integer id=c.getInt(c.getColumnIndex("id"));
         String Info=c.getString(c.getColumnIndex("Info"));
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章