sql >> Base de Datos >  >> RDS >> SQLite

Cómo obtener una fila en SQLite por índice (no por id)

La mejor ruta a seguir será obtener la identificación del registro del objeto representado por ListView ítem y luego utilícelo para obtener el registro correcto en la base de datos. En tu ListView OnItemClickListener , el onItemClick evento toma el AdapterView como primer argumento y el índice del elemento seleccionado como segundo. Obtenga ese elemento del adaptador y cámbielo al tipo que representa.

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
}

Sin embargo, si realmente desea obtener el enésimo registro, creo que puede hacer lo siguiente:

SELECT * FROM TableName LIMIT 1 OFFSET n;

Donde n es el índice que buscas. Esto también supone que sus resultados están ordenados de la misma manera que en su ListView .