谁知道这是什么意思?我正在尝试在 onActivityResult() 中启动事务以根据收到的结果插入一行。
03-05 15:39:51.937: ERROR/Database(2387): Failure 21 (out of memory) on 0x0 when preparing 'BEGIN EXCLUSIVE;'.
03-05 15:39:51.967: DEBUG/AndroidRuntime(2387): Shutting down VM 03-05 15:39:51.967: WARN/dalvikvm(2387): threadid=3: thread exiting with uncaught exception (group=0x40013140)
03-05 15:39:51.967: ERROR/AndroidRuntime(2387): Uncaught handler: thread main exiting due to uncaught exception
03-05 15:39:52.137: ERROR/AndroidRuntime(2387): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.ozdroid/com.ozdroid.load.LoadView}: android.database.sqlite.SQLiteException: unknown error: BEGIN EXCLUSIVE;
...
03-05 15:39:52.137: ERROR/AndroidRuntime(2387): Caused by: android.database.sqlite.SQLiteException: unknown error: BEGIN EXCLUSIVE;
...
03-05 15:39:52.137: ERROR/AndroidRuntime(2387): at android.database.sqlite.SQLiteDatabase.beginTransaction(SQLiteDatabase.java:434)
最佳答案
我在两种情况下遇到过这种情况:
- 当 SQL 语句包含语法错误时
- 当
beginTransaction
在未打开 数据库连接上调用时
看来您遇到了第二个。检查您的语法并确保您open()
(并且不要close()
)您的数据库在您调用beginTransaction
.
我认为我们可以同意生成的 logcat
错误消息并非 100% 有用。
关于android - SQLiteException 未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384919/