Java Android SQLite游标返回33个结果,但调试仅输出17个结果

Java Android SQLite游标返回33个结果,但调试仅输出17个结果,java,android,sqlite,android-cursor,Java,Android,Sqlite,Android Cursor,嗨,伙计们,我有一个奇怪的凯德。我正在尝试在应用程序中调试SQLite DB。如果我执行一个查询SELECT*from table,我会得到33个结果,但如果我在游标上迭代,它将在结果17处结束 这是我的调试类,所讨论的方法是public static void WriteToFileCursor游标、字符串查询、字符串表、字符串uri: 谢谢 将光标位置向前移动两次,一次移动一次 while (cursor.moveToNext()) 另一个在循环的末尾 pw.println(lin

嗨,伙计们,我有一个奇怪的凯德。我正在尝试在应用程序中调试SQLite DB。如果我执行一个查询SELECT*from table,我会得到33个结果,但如果我在游标上迭代,它将在结果17处结束

这是我的调试类,所讨论的方法是public static void WriteToFileCursor游标、字符串查询、字符串表、字符串uri:


谢谢

将光标位置向前移动两次,一次移动一次

  while (cursor.moveToNext())
另一个在循环的末尾

  pw.println(line.toString());
  cursor.moveToNext();

这就是为什么你总是会得到一半的结果,因为在最后你将它移动一个位置,然后在检查while条件时,它会再次前进,所以它的读取位置是0,然后是位置2,然后是4…等等…

你将光标位置前进两次,一次前进

  while (cursor.moveToNext())
另一个在循环的末尾

  pw.println(line.toString());
  cursor.moveToNext();

这就是为什么你总是会得到一半的结果,因为在最后你将它移动一个位置,然后在检查while条件时,它会再次前进,所以它的读取位置是0,然后是位置2,然后是4…等等…

你将光标位置前进两次,一次前进

  while (cursor.moveToNext())
另一个在循环的末尾

  pw.println(line.toString());
  cursor.moveToNext();

这就是为什么你总是会得到一半的结果,因为在最后你将它移动一个位置,然后在检查while条件时,它会再次前进,所以它的读取位置是0,然后是位置2,然后是4…等等…

你将光标位置前进两次,一次前进

  while (cursor.moveToNext())
另一个在循环的末尾

  pw.println(line.toString());
  cursor.moveToNext();

这就是为什么您总是会得到一半的结果,因为在最后您将其移动一个位置,然后在检查while条件时,它将再次前进,因此其读取位置为0,然后是位置2,然后是4…等等…

复制光标。循环中的moveToNext:

                    while (cursor.moveToNext())
                    {
...
                            pw.println(line.toString());
                            cursor.moveToNext();
...
                    }

在循环中复制cursor.moveToNext:

                    while (cursor.moveToNext())
                    {
...
                            pw.println(line.toString());
                            cursor.moveToNext();
...
                    }

在循环中复制cursor.moveToNext:

                    while (cursor.moveToNext())
                    {
...
                            pw.println(line.toString());
                            cursor.moveToNext();
...
                    }

在循环中复制cursor.moveToNext:

                    while (cursor.moveToNext())
                    {
...
                            pw.println(line.toString());
                            cursor.moveToNext();
...
                    }

哈非常感谢。我是个傻瓜,耶!哈非常感谢。我是个傻瓜,耶!哈非常感谢。我是个傻瓜,耶!哈非常感谢。我是个傻瓜,耶!