3

Androidでテーブルの行をカウントしたい.2つの方法を使用しましたが、成功せず、警告メッセージが表示されます

Launch timeout has expired, giving up wake lock!
 Activity idle timeout for HistoryRecord{44e26a30 com.india.screen/.CategoryList}

私が試してみました-

String query="Select count(*) from Holyplace_Tbl";
  1. rawQuery の使用

    public void countRows(文字列クエリ) {

    Cursor mcursor = assetDatabaseHelper.executeQuery(query);
    mcursor.moveToFirst();
    int icount = mcursor.getInt(0);
    System.out.println("NUMBER IN DB: " + icount);
    mcursor.close();
    

    }

  2. DatabaseUtils の使用

    public int countRows(String query)
    {
    
       int sometotal = (int) DatabaseUtils.longForQuery(sqliteDatabaseObj, query, null);
      return sometotal;
     }
    

    AssetDatabaseOpenHelper.class

4

5 に答える 5

11

これを試して

private static final String DB_TABLE_PLACES = "Places";
private SQLiteDatabase mDatabase;

private long fetchPlacesCount() {
    String sql = "SELECT COUNT(*) FROM " + DB_TABLE_PLACES;
    SQLiteStatement statement = mDatabase.compileStatement(sql);
    long count = statement.simpleQueryForLong();
    return count;
}

詳細はこちら.

于 2012-11-07T06:38:39.287 に答える
4

How to count number of records in sqliteから見つけた最も簡単で効率的な方法

DatabaseUtilsは、データベースと Cursor を処理するための Static ユーティリティ メソッドを提供します。

int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);

または:

int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
于 2014-06-10T11:56:53.867 に答える
1

次のような単純な RawQuery を使用できます。

private SQLiteDatabase mDatabase;

Cursor c = mDatabase.rawQuery("select COLUMN_NAME from TABLE_NAME",null);

int count = c.getCount();

このCursor.getCount()メソッドは、カーソル内の行数を返します。この場合は、探しているアイテムの数になります。

于 2012-11-07T06:47:10.303 に答える
0
long numRows = DatabaseUtils.queryNumEntries(db, table);
于 2014-07-17T08:40:30.427 に答える