微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 为什么c.moveToFirst()不会跳过第一行

我总是使用下面的代码来获取所有信息
但我有问题,c.movetoNext导致跳过结果集的第一行
请告诉我表面背后真的发生了什么,这样我才能完全理解它

    SQLiteDatabase db;
    Cursor c = db.query("pic", null, null, null, null,null, null);
    c.moveToFirst();
    while(c.movetoNext)
    {
    //do something
    //example: String a=c.getString(0);
    }

解决方法:

你正在调用moveToFirst(),它将光标定位在第一行,然后你的while循环在进入循环之前调用moveToNext(),这导致第一行被跳过.

您可以使用do … while循环或for循环来解决它

for( c.moveToFirst(); !c.isAfterLast(); c.moveToNext() ) {
    // Stuff
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐