昨天遇到一问题,数据库需要加一个字段,于是在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了


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐