0

我试过这个来获取行数。但是程序挂了。

private int countbaglist()
{
    int count = 0;
    SQLiteDatabase db = datasource.getWritableDatabase();
    Cursor cursor = db.rawQuery(
        "select count(*) from shoplist where itemname=?",
        new String[] { String.valueOf("itemname") });

    while(cursor.moveToFirst())
    {
        count = cursor.getCount();
    }
    return count;
}
4

2 回答 2

2

试试这个链接你的答案

如何使用 SQLite 在 Android 中获取查询的行数?

删除以下代码中的 while 条件:

  while(cursor.moveToFirst()){
    count = cursor.getCount();
  }

替换以下代码:

count = cursor.getInt(0)
于 2012-04-27T09:44:56.947 回答
2

它挂了,因为你的while循环永远不会退出。用while一次性if检查代替。另外,请注意,您需要读取从查询返回的整数值COUNT,而不是游标的行数,游标的行数始终为 1。

if (cursor.moveToFirst())
    count = cursor.getInt(0);
于 2012-04-27T09:47:32.457 回答