大佬教程收集整理的这篇文章主要介绍了android – 一个空的SQLite游标是否会为isBeforeFirst,isAfterLast,两者或两者都返回true?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我要问的情况是我得到一个游标,@L_641_4@moveToFirst,然后循环直到isAfterLast返回true.对于我正在编码几次的模式来说非常方便,如果光标有0条记录就可以正常工作并执行循环0次.
或者我是否需要先显式测试空光标?
编辑:一些回复表明人们并没有得到我所要求的.基本上,我想写这个:
cursor = myDb.query(...) cursor.moveToFirst() while (!cursor.isAfterLast()) { processRow(...) }
但我并不是100%肯定我能. isAfterLast不能返回任何有用的但是对于这种情况是真的,但这并不意味着它实际上对于空查询返回true.文档似乎没有指定大多数游标方法的返回值,如果游标为空(Android文档在很多极端情况下似乎是非特定的,实际上),而不是getCount.所以我担心我需要这样做:
cursor = myDb.query(...) if (cusror.getCount() > 0) { cursor.moveToFirst() while (!cursor.isAfterLast()) { processRow(...) } }
这更加混乱,逻辑冗余.请记住,在实际实现中有更多的代码,这是跨多种方法的.其中一个答案现在建议我也需要检查游标是否为空,这完全没有文档…
我只是想知道在空光标上调用时是否有其他人知道isAfterLast的实际行为.
以上是大佬教程为你收集整理的android – 一个空的SQLite游标是否会为isBeforeFirst,isAfterLast,两者或两者都返回true?全部内容,希望文章能够帮你解决android – 一个空的SQLite游标是否会为isBeforeFirst,isAfterLast,两者或两者都返回true?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。