SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak uzyskać wiersz w SQLite według indeksu (nie według identyfikatora)

Lepszą drogą do przejścia będzie pobranie identyfikatora rekordu z obiektu reprezentowanego przez ListView pozycji, a następnie użyj tego, aby uzyskać poprawny rekord w bazie danych. W swoim ListView OnItemClickListener , onItemClick zdarzenie przyjmuje AdapterView jako pierwszy argument i indeks wybranej pozycji jako drugi. Pobierz ten element z adaptera i prześlij go na typ, który reprezentuje.

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    YourClass c = (YourClass)arg0.getItemAtPosition(arg2);
    //index of the record to delete can now be accessed at c.id
}

Jeśli jednak naprawdę chcesz zdobyć n rekord, wierzę, że możesz wykonać następujące czynności:

SELECT * FROM TableName LIMIT 1 OFFSET n;

Gdzie n jest indeksem, którego szukasz. Zakłada się również, że wyniki są uporządkowane w taki sam sposób, jak w Twoim ListView .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz SQLite Count() z GROUP BY, aby dodać kolumnę „Count” do zestawu wyników

  2. Dlaczego otrzymuję wyjątek java.lang.IllegalArgumentException:wartość wiązania w indeksie 1 jest w tym przypadku null?

  3. Nie można uzyskać dostępu do wstępnie wypełnionej bazy danych SQLite za pomocą PhoneGap/Cordova w systemie Android

  4. 2 sposoby na zwrócenie tylko wartości liczbowych z kolumny bazy danych SQLite

  5. onCreate() funkcji RoomDatabase.Callback() nie został wywołany po pomyślnym wywołaniu funkcji .build()