Android – cómo utilizar "select last_insert_rowid ();"

Soy novato en Android.

Quiero mostrar un nuevo ID en TextView . Por lo tanto, sólo pienso en obtener la última ID que había sido almacenar en la base de datos y declarar como Integer agregar 1 al valor que obtiene luego mostrar a la TextView .

He leído muchas de las preguntas relativas a la obtención de la última ID. ¿Cómo puedo utilizar select last_insert_rowid(); ?

¡Gracias!

3 Solutions collect form web for “Android – cómo utilizar "select last_insert_rowid ();"”

last_insert_rowid() sólo funciona para los registros que se han insertado en la misma sesión.

Si su columna se declara como INTEGER PRIMARY KEY , SQLite generará automáticamente un valor si no especifica uno en un nuevo registro.

Si realmente necesita el ID antes de insertar el registro, puede ejecutar algo como esto:

 SELECT max(_id) FROM MyTable 

Si usa autoincrement use

 SELECT * from SQLITE_SEQUENCE; 

Para obtener el último identificador.

 Cursor c = database.rawQuery("SELECT last_insert_rowid()", null); c.moveToFirst(); int id = c.getInt(0); id += 1; 

Soy novato también, así que no puedo explicar muy bien. Lo anterior obtendrá el último ID de inserto de la misma sesión. No funcionará si se inicia una nueva sesión, es decir, se inserta algo y se cierra la conexión y se vuelve a abrir, ya que a continuación, devolverá 0, por lo que tendrá que tener en cuenta que su TextView siempre mostrará 1. Al igual que Leí muchas preguntas sobre él sin saber cómo implementarlo. El código anterior es cómo logré usarlo sin obtener excepciones de outofbounds.

  • Android - SQLite ContentResolver insertar / eliminar / actualizar en UI Thread?
  • Cómo dividir valores separados por comas en SQLite?
  • Sigue recibiendo NullPointerExceptions al intentar llamar a getWritableDatabase ()
  • ¿Cómo realizar una consulta SQLite dentro de una aplicación de Android?
  • Android: transacciones SQLite al usar ContentResolver
  • ¿Cómo obtengo el mejor rendimiento con SQLite en Android?
  • Desempeño de Android: Archivo plano vs SQLite
  • "SELECT last_insert_rowid ()" devuelve siempre "0"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.