【问题标题】:Android ContentProvider/SQLiteDatabase query COUNT(*)Android ContentProvider/SQLiteDatabase 查询 COUNT(*)
【发布时间】:2013-12-21 15:29:49
【问题描述】:

我想检查我的桌子是否是空的:

Uri uri = Uri.withAppendedPath(BASE_URI, "account");
Cursor countCursor = getContentResolver().query(uri, new String[] {"COUNT(*) AS COUNT_TABLE"}, null, null, null);

这是我的内容提供商查询:

public synchronized Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    int uriType = sURIMatcher.match(uri);
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    Cursor cursor = null;
    switch (uriType) {
    case ACCOUNT:
        checkColumns(projection, ACCOUNT);
        cursor = database.query(TableAccount.TABLE_ACCOUNT, projection, selection, selectionArgs, null, null, sortOrder);
        break;
    case INPUT:
        checkColumns(projection, INPUT);
        cursor = database.query(TableInput.TABLE_INPUT, projection, selection, selectionArgs, null, null, sortOrder);
        break;
    case OUTPUT:
        checkColumns(projection, OUTPUT);
        cursor = database.query(TableOutput.TABLE_OUTPUT, projection, selection, selectionArgs, null, null, sortOrder);
        break;
    default:
        throw new IllegalArgumentException("Unknown URI: " + uri);
    }
    cursor.setNotificationUri(getContext().getContentResolver(), uri);
    return cursor;
}

但是每次我得到这个错误:

IllegalArgumentException:投影中的未知列

我不喜欢使用 rawQuerry

【问题讨论】:

    标签: android sql sqlite count android-contentprovider


    【解决方案1】:

    尝试使用此方法获取您的 sqlite 数据库的计数。我还添加了一些 where 子句示例供您参考。随意修改它:

        public int getCount(String param1, String param2){
            SQLiteDatabase db = this.getReadableDatabase();
            long count;
            count = DatabaseUtils.queryNumEntries(db, "TABLE_NAME",
                    "param1=? AND param2=?", new String[]{param1, param2});
    
            db.close();
            return count;
        }
    

    【讨论】:

      猜你喜欢
      • 2011-02-04
      • 1970-01-01
      • 2011-02-16
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多