是什么导致SQLite“整数溢出”异常?

时间:2013-01-22 06:25:34

标签: android android-sqlite integer-overflow

我通过 ACRA 获得了以下堆栈跟踪。 Galaxy Note II,Android 4.1.2:

android.database.sqlite.SQLiteException: integer overflow (code 1)
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:968)
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:143)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:196)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:244)
:
My app's methods

我之前从未见过这个例外 - 任何人都有任何想法可能导致这种情况吗?

1 个答案:

答案 0 :(得分:1)

在您创建的数字大于整数允许的大小的情况下,可能会发生这种情况。如果您使用Sum等聚合函数,可能会发生这种情况。如果你总结太多的东西,你可能会得到一个太大的数字,超出整数的大小。

可在此处找到更多信息:http://www.sqlite.org/lang_aggfunc.html