android在数据库中查找相应的数据时出错。

Cursor cursor=myDatabase.rawQuery("select ids,title,times from goodtime" , null);
cursor.moveToFirst();
while(!cursor.isAfterLast()){
int id=cursor.getInt(cursor.getColumnIndex("ids"));
String title=cursor.getString(cursor.getColumnIndex("title"));
String times=cursor.getString(cursor.getColumnIndex("times"));
System.out.println(title);
System.out.println(cursor.getColumnIndex("bj"));
String beijing=cursor.getString(cursor.getColumnIndex("bj"));

    上面是我的代码,title还是可以正常查找的,但是bj这个变量的值确实-1,同时报出错误java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.notebook/com.example.notebook.Notebook}: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
    这是我创建的表:
    String ml="create table goodtime(ids integer PRIMARY KEY autoincrement,title text,content text,times text,ptpath text,mppath text,vdpath text,islock integer,password text,bj text)";
    arg0.execSQL(ml);
    网上说有可能大小写不对,我仔细查看了变量名都是一致的啊
    求各位大神帮我看一下,指点一下我,先谢谢了!

4个回答

看下你的数据库中有没有对应的记录

你查询的时候好像没有查“bj”这个字段吧

查询结果为空的话,会出现这个错误。先判断cursor中是否有数据。cursor.getCount()

看下你的数据库中有没有对应的记录

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!