¿Cómo puedo obtener información sobre la columna causó restricción de clave externa en android sqlite?

Quiero saber si es posible obtener información sobre SQLiteConstraintException: foreign key constraint excepción de SQLiteConstraintException: foreign key constraint .

Necesito saber qué columna causó una violación de restricción de clave externa.

¿Hay alguna manera de obtener esta información de la excepción?

También puede ser bueno si podría conseguir el nombre de esa restricción.

Creo que puedes encontrar la respuesta en la siguiente pregunta:

Posible obtener detalles de error específicos de Android SQLiteConstraintException?

Mira la solución 2 publicada por antoino.

No existe una forma directa de encontrar nombre de columna que viole la restricción de clave externa de SQLiteConstraintException: excepción de restricción de clave externa.

Pero usted puede encontrar el nombre de operación (eliminar, insertar, crear etc) que eleva SQLiteConstraintException: excepción de restricción de clave externa.

  04-27 11:15:27.152: E/AndroidRuntime(22031): FATAL EXCEPTION: main 04-27 11:15:27.152: E/AndroidRuntime(22031): android.database.sqlite.SQLiteConstraintException: foreign key constraint failed (code 19) 04-27 11:15:27.152: E/AndroidRuntime(22031): at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method) 04-27 11:15:27.152: E/AndroidRuntime(22031): at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:727) 04-27 11:15:27.152: E/AndroidRuntime(22031): at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754) 04-27 11:15:27.152: E/AndroidRuntime(22031): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64) 04-27 11:15:27.152: E/AndroidRuntime(22031): at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1494) 04-27 11:15:27.152: E/AndroidRuntime(22031): at it.jackpot21.personalmoney.DbAdapter.SQLdelete(DbAdapter.java:89) 04-27 11:15:27.152: E/AndroidRuntime(22031): at it.jackpot21.personalmoney.PersoneActivity$5.onClick(PersoneActivity.java:215) 

En el registro anterior

04-27 11: 15: 27.152: E / AndroidRuntime (22031): en android.database.sqlite.SQLiteDatabase.delete (SQLiteDatabase.java:1494)

Esto nos dice eliminar excepción de operación. A continuación, puede encontrar qué línea en su código genera esta excepción y compruebe su consulta y columna manualmente.

Las versiones SQLite más nuevas agregan los nombres de las tablas al mensaje de error, pero en ninguno de los dos casos se obtienen los nombres de las columnas.

Usted puede copiar su sql a sqlite navegador, http://sqlitebrowser.org/ e intentar replicar el error allí y debe darle más información.

  • Evite borrar los datos de la base de datos al hacer clic en el botón "borrar datos" en la configuración de la aplicación en el dispositivo Android
  • Multi claves primarias en Android SQLite
  • Android obtener la imagen de disco de base de datos es malformado (código 11) error
  • Android classificar los resultados de la consulta sqlite ignorando el caso
  • Error al descifrar en java
  • Seleccione la última fila
  • Android.database.sqlite.SQLiteException: cerca de "ce": error de sintaxis (código 1):, mientras compila: INSERT INTO
  • GreenDAO crea una propiedad de ID automática
  • Cómo seleccionar datos entre dos intervalos de fechas en android SQLite
  • SQLite database, multithreading, bloqueos y sincronización de cuentas en android
  • Android, cursor que devuelve valor booleano?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.