SQLiteException未知的错误

问题描述:

有谁知道这意味着什么?我试图在onActivityResult()中启动一个事务来根据收到的结果插入一行。SQLiteException未知的错误

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)

我有这种事发生在我在两种情况下:

  1. 当SQL语句包含语法错误
  2. beginTransaction被称为未打开数据库连接上

看起来你已经进入第二。检查你的语法,并确保你open()(和不要close())你的数据库之前你叫beginTransaction

而且我认为我们可以同意由此产生的logcat错误消息不是100%有帮助的。

+1

非常感谢!这似乎是我关闭了我的连接! – davs 2011-03-11 11:39:51