Android 无法从数据库中获取ColumnIndex

Android 无法从数据库中获取ColumnIndex,android,database,Android,Database,我只是不能得到我的数据库的列索引,而其他列索引工作正常。 该列是image(item4),我得到的索引是-1 CursorDb.moveToFirst(); if (CursorDb.getCount()>0) do { int i=CursorDb.getColumnIndex(item2);//ok int t=Cur

我只是不能得到我的数据库的列索引,而其他列索引工作正常。 该列是image(item4),我得到的索引是-1

CursorDb.moveToFirst();
            if (CursorDb.getCount()>0)
                do
                { 
                    int i=CursorDb.getColumnIndex(item2);//ok
                    int t=CursorDb.getColumnIndex(item3);//ok
                    int z=CursorDb.getColumnIndex(item4);//not ok
                    byte b[]=CursorDb.getBlob(4);
我的创建代码和插入正确工作。 创建是

private static final String DATABASE_CREATE =
        "create table if not exists  titles (_id integer primary key autoincrement, "
                + "link text not null UNIQUE, RssTitle text not null,Rtl text not null,image BLOB);";
谢谢你的帮助

如果
getColumnIndex()
返回-1,则表示该列不在查询中。仔细检查SELECT语句并添加
item4

"SELECT " + item2 + ", " + item3 + ", " + item4 + ", FROM " + TABLE_NAME....  
另外,
Cursor#moveToFirst()
根据光标是否为空返回true或false。您不需要同时使用
moveToFirst()
getCount()


item4
的值是多少?item4是一个字符串,其值为Image4。是否将正确的列传递到SQLiteDatabase.query(…)?
if(CursorDb.moveToFirst())
    do 
    {