Pracuję nad Androidem. Użyłem do tego bazy danych sqlite. Mam tabele w bazie danych. Stworzyłem klasę databasehelper. Chcę policzyć liczbę rekordów w konkretnej tabeli. Jak mogę to osiągnąć? jakakolwiek pomoc zostanie doceniona?Jak liczyć liczbę rekordów w sqlite w Androidzie
Odpowiedz
Stosując SELECT COUNT(*) FROM table_name
zapytania i niż liczyć wielkości kursora ..
metody od kursora liczyć wielkość (ilość wierszy kursora) jest
getCount()
Zwraca numery wierszy w kursie.
OR:
Od DatabaseUtils zastosowanie metoda queryNumEntries(SQLiteDatabase db, String table)
Jak,
long numberOfRows = DatabaseUtils.queryNumEntries(db, "table_name");
który zwraca liczbę wierszy w tabeli.
Czy kursor zawsze będzie 1 ... Czy rzeczywiście nie chcesz pobrać pierwszego rekordu w kursorze a następnie spojrzeć w indeksie 0 dla zliczenia? – earnshae
Można również przekazywać argumenty wyboru za pomocą metody 'DatabaseUtils.queryNumEntries (SQLiteDatabase db, String tabela, String selection, String [] selectionArgs)'. –
Spróbuj tego.
Cursor c = db.rawQuery("select * from your_table_name",null);
Log.i("Number of Records"," :: "+c.getCount());
Edit:c.getCount() zwraca liczbę zapisów konkretnej tabeli.
.getCount() jest w porządku, jeśli otrzymujesz główne dane w innym celu, ale odzyskujesz wszystkie dane tylko w celu zliczenia ich nieefektywności. RawQuery z "wybierz liczbę (*) z twojego_nazwa_tabeli" byłoby lepsze zgodnie z sugestią @Nick Bradbury – RobT
@RobT Dzięki za twoją sugestię –
Po wybraniu wszystkich pól możesz wybrać jedno pole. To dotyczy optymalizacji. –
To byłoby bardziej efektywne:
int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
Lub:
int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
Oba nie działają, jeśli nie rzuca się ich (int), ponieważ zwracają długi. – algorithms
// TODO 'queryNumEntries' nie działa z 2.2 ... Niech praca ... –
Dzięki Nick. Twoja druga odpowiedź jest zgodna z dokumentacją Google: http://developer.android.com/reference/android/database/DatabaseUtils.html#queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String) Używaj długo zamiast int. na przykład long numRows = DatabaseUtils.queryNumEntries (db, "table_name"); –
Spróbuj tego:
W swojej DatabaseHelper.java:
public Cursor getYourTableContents() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM " + "Your table name", null);
return data;
}
aby uzyskać liczba rzędów w twoim stole :
Cursor yourCursor = myDB.getYourTableContents();
int i = 0;
while (yourCursor.moveToNext()) {
i += 1;
}
i
jest twoje wiersze liczyć jako liczba całkowita.
- 1. Zwróć liczbę rekordów w zmiennej, Sqlite, Android, Java
- 2. Jak liczyć liczbę wartości numerycznych w kolumnie
- 3. jak liczyć liczbę aktywnych użytkowników w jądrze
- 4. Jak liczyć liczbę bajtek wykonanych w java
- 5. Jak zdobyć 5 rekordów w SqLite?
- 6. Jak wyłączyć plik dziennika SQLite w Androidzie?
- 7. Resetowanie Autoinkrementacji w Androidzie SQLite
- 8. Efektywne stronicowanie w SQLite z milionami rekordów
- 9. Jak liczyć liczbę linii w ciągu Objective-C (NSString)?
- 10. Jak liczyć liczbę elementów w zapytaniu bez liczenia()
- 11. Jak liczyć całkowitą liczbę parametrów do trenowania w modelu tensorflow?
- 12. Jak liczyć liczbę wystąpień pewnego znaku w ciągu znaków?
- 13. Jak liczyć liczbę niepustych linii w pliku za pomocą sed?
- 14. Jak liczyć liczbę wystąpień znaku w wartości varchar Oracle?
- 15. Spark - Jak policzyć liczbę rekordów kluczem
- 16. Jak zweryfikować liczbę rekordów przy użyciu kapibara
- 17. Jak mogę uzyskać liczbę usuniętych rekordów?
- 18. Jak wyświetlić całkowitą liczbę rekordów dla modeli w django admin
- 19. Utwórz bazę danych SQLite w Androidzie
- 20. Sqlite Database LEAK FOUND wyjątek w Androidzie?
- 21. Pobieranie pojedynczej wartości z SQLite w Androidzie
- 22. Połączenie z Sqlite w Androidzie przez Servlet
- 23. Jak liczyć elementy w JSON danych
- 24. w bazie SQLite programowo przekształcić w formacie Excel w Androidzie
- 25. Jak liczyć sqlalchemy zapytań w jednostce testuje
- 26. SQLite usuwa ostatnie 25% rekordów w bazie danych
- 27. Jak wybierać dane między dwoma zakresami dat w Androidzie SQLite
- 28. Jak usunąć wiersz z tabeli w Androidzie SQLite?
- 29. Kwerenda SQLite Android - Pierwsze 10 rekordów
- 30. Jak liczyć liczbę słów z ciągu za pomocą powłoki
Długość kursora nadziei pomoże. – MAC
'return db.rawQuery (" SELECT _id FROM table ", null) .getCount();' –