【发布时间】:2019-01-28 07:22:02
【问题描述】:
我只在 android 9 中遇到异常,重新安装后一切看起来都很好,
例外:
android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1...
代码:
Cursor cursor = database.query(......);
if(cursor == null || cursor.getCount() < 0) { //Here is the error
Log.d("Error", "count : null");
return "";
}
已编辑:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:354)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:859)
at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:149)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
提前谢谢大家
【问题讨论】:
-
您能否编辑您的问题以显示完整的堆栈跟踪,而不仅仅是堆栈跟踪中的一行。添加查询也可能有用。
-
我已经编辑了我的答案,检查一次,@MikeT
-
您找到解决方案了吗?我遇到了同样的例外@Bikash Sahani。
-
这种情况曾经发生过,有人在没有卸载我的应用程序的情况下升级到奥利奥并继续使用它,然后这个问题就来了,所以当时我正在放弃桌子并再次创建它
-
你有什么解决办法吗???我只在 android 9 pocof1 设备中遇到这个问题?在第一次安装中升级到派后,我收到了这个错误。在我重新安装它的工作正常后
标签: android sqlite android-database