Почему мой getAccountCount
возвращает только 1, когда в моей базе данных несколько записей. Разве это не правильный способ получить количество записей в моей таблице ACCOUNTS
?Почему SELECT COUNT (*) возвращается 1
getAccountCount
int getAccountCount() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cur = db.rawQuery("SELECT COUNT (*) FROM " + ACCOUNTS, null);
int x = cur.getCount();
cur.close();
return x;
}
Назвав его от другой деятельности
dbHelper = new DatabaseHelper(this);
txtNo.setText(String.valueOf(dbHelper.getAccountCount()));
Слегка смущенный моим ляп так вот попытка восстановить немного достоинства; _ ;.
В любом случае извинитесь за мою ошибку и благодарю вас за помощь. Я возился с учебным кодом, который первоначально имел SELECT * FROM myTable
, но я где-то читал, что использование SELECT *
в большом db может потенциально повлиять на производительность, так как SELECT *
дает список записей со всеми столбцами из таблицы, тогда как SELECT COUNT *
просто подсчитывает строки. Но когда я заменил SELECT * FROM myTable
SELECT COUNT (*) FROM myTable
, я забыл изменить интерпретацию cur
и просто продолжал в предположении, что мой getAccountCount()
был в порядке.
Еще раз спасибо за помощь и критику, оба оценены. Ура!
и без брекетов вокруг звездочки? – user2818782
FSM сохранить нас! ... сколько строк с count возвращает этот запрос? ... 1 ... так что вы ожидали ... вы должны принять значение из первой строки, не считая строк – Selvin