क्या का उपयोग करना संभव है जब मैं sum(column)
चाहता हूं?एंड्रॉइड सामग्री प्रदाता योग क्वेरी
या
मैं db से संभाल कच्चे क्वेरी बनाने के लिए है?
क्या का उपयोग करना संभव है जब मैं sum(column)
चाहता हूं?एंड्रॉइड सामग्री प्रदाता योग क्वेरी
या
मैं db से संभाल कच्चे क्वेरी बनाने के लिए है?
ठीक है, ऐसा लगता है कि 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();
आप 'simpleQueryForLong()' -Method का उपयोग कर सकते हैं।
जब 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);
यह काम नहीं कर रहा है अमान्य कॉलम योग (अवधि) ई/डेटाबेस उपयोग (2 9 17): \t android.database.sqlite.SQLiteQueryBuilder.computeProjection (SQLiteQueryBuilder.java:5223) –
को स्वीकार कर लिया जवाब गलत है
आईटी
के रूप में CONTENTPROVIDER में संभव हैString[] columns = new String[] { "sum(" + columnName + ")" };
Cursor cursor = getContentResolver().query(
content_uri,
columns,
selection,
selectionArgs,
sort
);
int columnSum = cursor.getInt(0);
केवल गलती टॉम वह ऐसा करने के लिए मत भूलना है था:
cursor.moveToFirst();
कि टॉम हमेशा गलतियां करता है; पी –
आप आईसीएस में परीक्षण किया गया है? – SarjanWebDev