2011-05-02 3 views

답변

3

확인을 클릭하면 getContentResolver().query()을 사용할 수없는 것으로 보입니다. DB에 연결하여 rawQuery을 만들어야했습니다. ContentResolver.query에 열들의 어레이를 제공 할 때

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(); 
+0

당신이 ICS에서 테스트 적이 있습니까? – SarjanWebDev

6

상기 sum() 기능 열 이름을 바꿈

String[] columns = new String[] { "sum(" + columnName + ")" }; 

Cursor cursor = getContentResolver().query(
    content_uri, 
    columns, 
    selection, 
    selectionArgs, 
    sort 
); 

cursor.moveToFirst(); 

int columnSum = cursor.getInt(0); 
+0

이 작동하지 않습니다. 잘못된 열 총계 (기간) E/DatabaseUtils (2917) : \t android.database.sqlite.SQLiteQueryBuilder.computeProjection (SQLiteQueryBuilder.java:523) –

3

허용 대답이 잘못

IT는

AS 컨텐트 프로 가능하다
String[] columns = new String[] { "sum(" + columnName + ")" }; 

    Cursor cursor = getContentResolver().query(
     content_uri, 
     columns, 
     selection, 
     selectionArgs, 
     sort 
    ); 
int columnSum = cursor.getInt(0); 

만 실수 톰 그는 할 것을 잊지됩니다 않았다

cursor.moveToFirst(); 
+0

Tom이 항상 실수를 저지른 것으로 P –