Java游标只给出50行
我正在使用这个光标,但遇到了问题 它只返回50行,而数据库表在第49条记录之后有500多行从while循环中退出Java游标只给出50行,java,android,sqlite,Java,Android,Sqlite,我正在使用这个光标,但遇到了问题 它只返回50行,而数据库表在第49条记录之后有500多行从while循环中退出 Cursor c = db.rawQuery("select * FROM mytable order by id", null); Toast.makeText(this, "Row count---"+c.getCount(), Toast.LENGTH_SHORT).show();//giving 500 record int ik= 0; if (c != null ) {
Cursor c = db.rawQuery("select * FROM mytable order by id", null);
Toast.makeText(this, "Row count---"+c.getCount(), Toast.LENGTH_SHORT).show();//giving 500 record
int ik= 0;
if (c != null ) {
while (c.moveToNext()) {
ik++;
Toast.makeText(this, " increment---"+ik, Toast.LENGTH_SHORT).show();//count upto only 49
}
}
请帮忙
try-catch中没有错误
但在第49次录制后,它会发送连接到wifi的请求,而我不使用此处的任何wifi启用设置
是否有其他方法获取所有记录
提前谢谢我想这只是一件事:
Cursor c = db.rawQuery("select * FROM mytable order by id", null);
Toast.makeText(this, "Row count---"+c.getCount(), Toast.LENGTH_SHORT).show();//giving 500 record
int ik= 0;
if (c.moveToFirst()) {
do {
ik++;
Log.i("CursorCheck", " increment---"+ik);//should count until the last one
} while(c.moveToNext())
}
请注意c.moveToFirst()
。否则,光标可能会出现在任何不方便的地方。这样你就可以确保从一开始就得到它们
我还将您的检查更改为使用日志,否则,有500个烤面包可能会呼气不要使用烤面包来记录,请使用
log
或System.out.println(“任何字符串”)代码>我正在为android测试它device@NileshSolanki那跟他们说的有什么关系?Toast是调试东西的糟糕方法。更糟糕的是,如果你在Android设备上测试loopsEven,日志消息将出现在Eclipse或Android Studio中的LogCat中(假设应用程序是在手机插入的情况下运行的)rawQuery
返回的光标肯定在第一行之前。那么我的一生都是谎言。不,事实上,我希望getCount
和其他方法会弄乱光标位置。如果没有,我也不知道。这里出现了一个向上箭头,除了CL编写的内容之外,这实际上将跳过第一行。我是否提到rawQuery
从不返回null
?无论如何,问题可能是Android不想显示超过50个祝酒词……哦,@CL,这可能就是问题所在