【问题标题】:cursor.getCount() returning wrong count using rawQuerycursor.getCount() 使用 rawQuery 返回错误的计数
【发布时间】:2013-01-30 05:08:13
【问题描述】:

我使用 rawQuery 从数据库表中获取记录。我检查了日志中的查询,它在 SQLite 中完美执行。但是 cursor.getCount 返回错误的行数和包含错误结果集的游标。我使用了以下代码:

Cursor productCursor = dataHelper.rawQuery(query_str, null);
int list_count = productCursor.getCount();
Log.d("list_count", ""+list_count);
productCursor.moveToFirst();
while(productCursor.isAfterLast() == false) {
    ......
}

实际上有 4 条记录,但游标只包含 3 条记录。在 SQLite 中测试并得到正确的结果集。 如果有人能指出我的错误会很有帮助。

【问题讨论】:

  • 返回错误计数是什么意思?
  • 你的 query_str 是什么?您是否尝试在 db 中运行相同的查询?
  • 是的,我已经运行从日志到数据库的查询,结果集包含 4 条记录。但是游标只包含 3 条记录。

标签: java sqlite cursor


【解决方案1】:

试试这个..

productCursor.moveToFirst();

do {
  // your code..

} while (productCursor.moveToNext());

【讨论】:

  • 你能解释一下区别吗?
猜你喜欢
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-25
  • 2017-03-19
相关资源
最近更新 更多