Content Provider COUNT(*)

  • 0 Antworten
  • Letztes Antwortdatum
AppDos

AppDos

Neues Mitglied
1
Hi Leute,

ich hab einen Content Provider und möchte gerne herausfinden ob eine Tabelle leer ist.
Am sinnvollsten erschien mir da die COUNT(*) Funktion.
Code:
getContentResolver().query(uri, new String[] {"COUNT(*) AS COUNT_COLUMN"}, null, null, null);
Leider funktioniert das nicht, ich erhalte immer folgende Fehlermeldung:
IllegalArgumentException: Unkown columns in projection

Hier die query Methode aus dem Provider:
Code:
@Override
	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;
	}

Eigentlich sollte so alles klappen ???
Normale Abfragen gehen einwandfrei!
Hoffe ihr könnt mir helfen :sad:
 
Zuletzt bearbeitet:
Zurück
Oben Unten