0
点赞
收藏
分享

微信扫一扫

Cursor invalid statement in fillwindow()

这个问题我纠结很久,通过上网搜索答案,再经过自己的再三调试,终于搞定了。这里跟大家分享?

简单一点说就是:我在A类中打开一个数据库的连接!代码如下:

db=dbHelper.getReadableDatabase();
c=dbHelper.findById(db, rowId);

startManagingCursor(c);

while (c.moveToNext()){

title.setText(c.getString(c.getColumnIndex("title")));

title.setText(c.getString(c.getColumnIndex("body")));

}

然后调用B类中的查询方法就是上面的findById(db,rowId)方法,返回一个Cursor对象。下面是重点

这是B类中的查询方法,代码如下:

public Cursor findById(SQLiteDatabase db,long rowId){

Cursor c=null;

try{

String sql="select _id,title,body from note where _id="+rowId;

c=db.rawQuery(sql, null);

return c;

}

catch (Exception e){

e.printStackTrace();

  }finally{  if(db!=null){
   db.close();
}
}

return null;

}

上面红色标注的地方,就是报异常的地方,意思是不能提前关闭数据库连接,只要去掉红色地方的代码就行了!!






举报

相关推荐

0 条评论