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を 1 回限りのifチェックに置き換えてください。また、常に 1 になるカーソルの行数ではなく、クエリから返された整数値を読み取る必要があることに注意してください。COUNT

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