2010-04-16 1 views
0
Cursor cursor = db.rawQuery("SELECT COUNT(rat) 
           FROM "+ TABLE_NAME_EXTRA +" apkid=\""+apkid, null); 
cursor.moveToFirst(); 
int somatotal = cursor.getInt(0); 

Я пытаюсь выполнить функцию SQL, такую ​​как count и sum, но этот код возвращает исключение, говорящее «emptyvalues».Функция SQl в android

Кто-нибудь знает почему?

+0

Возможно, курсор пуст? – lbedogni

+0

как его возможно? –

+0

Потому что в таблице нет строк? Распечатайте фактический запрос перед его запуском и попробуйте запустить его за пределами java/android, чтобы убедиться, что он делает то, что вы намереваетесь. –

ответ

0

Вы должны использовать метод утилиты DatabaseUtils.longForQuery для запуска запроса на db и вернуть значение в первом столбце первой строки.

int sometotal=DatabaseUtils.longForQuery(db,"SELECT COUNT(rat) 
           FROM "+ TABLE_NAME_EXTRA +" where apkid=\""+apkid+"\"",null);