无法从db获取列索引

时间:2012-12-22 17:05:13

标签: android database

我只是无法获取我的数据库列的索引,而其他列索引工作正常。 列是图像(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);";

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

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

"SELECT " + item2 + ", " + item3 + ", " + item4 + ", FROM " + TABLE_NAME....  

同样Cursor#moveToFirst()返回true或false,具体取决于Cursor是否为空。您无需同时使用moveToFirst()getCount()

if(CursorDb.moveToFirst())
    do 
    {