Bob*_*obs 10 sqlite android constraints foreign-keys
我想知道是否有可能获得有关SQLiteConstraintException: foreign key constraint
异常的信息.
我需要知道哪个列导致违反外键约束.
有没有办法从异常中获取这些信息?
如果我能得到该约束的名称也可能是好的.
没有直接的方法可以从 SQLiteConstraintException 中查找违反外键约束的列名:外键约束异常。
但是您可以找到引发 SQLiteConstraintException: 外键约束异常的操作(删除、插入、创建等)名称。在以下日志中
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)
Run Code Online (Sandbox Code Playgroud)
在上面的日志中
04-27 11:15:27.152:E / AndroidRuntime(22031):在android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1494)
这告诉我们删除操作会引发异常。然后,您可以找到代码中的哪一行引发此异常,并手动检查您的查询和列。
归档时间: |
|
查看次数: |
625 次 |
最近记录: |