昨天遇到一问题,数据库需要加一个字段,于是在dbHeaper的onCreate方法中的db.executeSQL();
创建表的语句里加了一个字段,但老是报这个错,于是debug,try catch走了一顿,logcat看了日志;
发现是
Failed to read row 6, column -1 from a CursorWindow which has 11 rows, 14 columns.
最终恍然大悟,因为我用的是cursor查询,加的那个字段是groupType TEXT,返回的时候
我去取
Cursor mCursor = mContentResolver.query(ChatProvider.CONTENT_URI,RETURN_COLUMNS1, SELECTS, new String[]{userCode, userCode}, SORT_ORDER);
String groupType = mCursor.getString(mCursor .getColumnIndex(ChatConstants.GROUP_TYPE));
这个RETURN_COLUMNS1 就是返回的String[]类型的,
在查询的时候需要给他一个返回值数组,就是你需要返回那些字段的值,然后我给忘了加了,所以就没有取到值。加上就ok了