【发布时间】:2011-08-30 19:42:28
【问题描述】:
我有一个 SQL 查询在“sqlite”数据库上运行,当我调用时抛出此异常:“java.lang.IllegalStateException: get field slot from row 0 col 0 failed”:
db.rawQuery( "SELECT data FROM session_data WHERE session_id = ?", new String[] { String.format("%d", session_id) } );
if (!cursor.moveToFirst()) return;
bytes[] bytes = cursor.getBlob(0);
该列存在,如果我使用adb shell sqlite3 /path/to/database.db 登录,我可以成功执行相同的查询。
结果游标显示选择了 1 行,其中 1 列名称为“数据”。 blob 的大小约为 1.5 MB - 可能是这样吗?我已经验证cursor.GetColumnIndex("data")返回0,所以该列存在。
这是在 Android 2.1 SDK 上运行的。有什么想法吗?
【问题讨论】:
标签: android sql exception sqlite