当我需要sum(column)时,是否可以使用getContentResolver().query()
或
我必须对数据库句柄进行原始查询吗?
发布于 2011-05-04 00:22:03
好的,看起来使用getContentResolver().query()是不可能的。我必须连接到数据库并创建rawQuery。
ContentProviderClient client = getContentResolver().acquireContentProviderClient(AUTHORITY);
SQLiteDatabase dbHandle= ((MyContentProvider)client.getLocalContentProvider()).getDbHandle();
Cursor cursor = dbHandle.rawQuery("SELECT sum("+COLUM_NNAME+") FROM "+TABLE_NAME +" WHERE "+WHERE_CLAUSE , null);
cursor.moveToFirst();
int cnt = cursor.getInt(0);
cursor.close();
cursor.deactivate();
client.release();发布于 2011-08-17 04:58:30
在向ContentResolver.query提供列数组时,使用sum()函数对列名进行包装
String[] columns = new String[] { "sum(" + columnName + ")" };
Cursor cursor = getContentResolver().query(
content_uri,
columns,
selection,
selectionArgs,
sort
);
cursor.moveToFirst();
int columnSum = cursor.getInt(0);发布于 2016-03-19 03:11:26
接受的答案是错误的
与一样,IT在企业中也是可能的
String[] columns = new String[] { "sum(" + columnName + ")" };
Cursor cursor = getContentResolver().query(
content_uri,
columns,
selection,
selectionArgs,
sort
);
int columnSum = cursor.getInt(0);汤姆犯的唯一错误是他忘了做:
cursor.moveToFirst();https://stackoverflow.com/questions/5854343
复制相似问题