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;
}
上面红色标注的地方,就是报异常的地方,意思是不能提前关闭数据库连接,只要去掉红色地方的代码就行了!!
分类:
android
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?