SQLite
 sql >> база данни >  >> RDS >> SQLite

Как да получите ред в SQLite по индекс (не по идентификатор)

По-добрият път ще бъде да извлечете идентификатора на записа от обекта, представен от ListView елемент и след това го използвайте, за да получите правилния запис в базата данни. Във вашия ListView OnItemClickListener , onItemClick събитие приема AdapterView като първи аргумент и индексът на избрания елемент като втори. Вземете този елемент от адаптера и го прехвърлете към типа, който представлява.

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
}

Въпреки това, ако наистина искате да получите n-тия запис, вярвам, че можете да направите следното:

SELECT * FROM TableName LIMIT 1 OFFSET n;

Където n е индексът, който търсите. Това също предполага, че вашите резултати са подредени по същия начин, както са във вашия 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. Автоматично увеличаване на стойността на 'id' при вмъкване в sqlite

  2. Как мога да опресня/отворя отново SQLite база данни след възстановяването й, когато използвам сингълтон за помощника на базата данни

  3. Използване на SQLCipher с Android

  4. Актуализиране на предварително попълнена база данни

  5. SELECT DISTINCT Не работи Android SQLite