SQLite cursor.getCount()>0但是cursor.moveToFirst得到FALSE
我的数据库是这样的,里面只有一张pic的表,存储了图片的二进制码,列名是picture
现在我已经插入了两条数据,然后想把图片读出来
显示的结果是“读取图片成功:2”,也就是说表里确实有两条数据,cursor已经读到了,但是一旦要读取cursor里的数据就出错,于是我改动了一下代码
得到的结果是“读取图片失败”,也就是说cursor.moveToFirst()返回的是FALSE,求大神指点,这是为什么啊?明明cursor里有两条数据,但是不能moveToFirst()也不能moveToNext(),纠结了好久了还没解决。
create table pic(picture Blob)现在我已经插入了两条数据,然后想把图片读出来
Cursor cursor = db_test.rawQuery("select picture from pic",null);
if (cursor != null && cursor.getCount() > 0){
Toast.makeText(this,"读取图片成功:" + cursor.getCount(),Toast.LENGTH_SHOW).show();
}显示的结果是“读取图片成功:2”,也就是说表里确实有两条数据,cursor已经读到了,但是一旦要读取cursor里的数据就出错,于是我改动了一下代码
Cursor cursor = db_test.rawQuery("select picture from pic",null);
if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()){
Toast.makeText(this,"读取图片成功:" + cursor.getCount(),Toast.LENGTH_SHOW).show();
}
else {
Toast.makeText(this,"读取图片失败" ,Toast.LENGTH_SHOW).show();
}得到的结果是“读取图片失败”,也就是说cursor.moveToFirst()返回的是FALSE,求大神指点,这是为什么啊?明明cursor里有两条数据,但是不能moveToFirst()也不能moveToNext(),纠结了好久了还没解决。
...全文
相关推荐
android操作数据库
简单的代码,增删查改,适合初学者学习使用,可以直接运行,用单元测试类运行即可
个人记账系统开发:Android自定义键盘与SQLite完整实践
在Android应用开发中,数据持久化与界面交互是构建实用工具的核心环节。SQLite作为轻量级关系型数据库,是移动端本地存储的常见选择,支撑着账单记录的增删改查与统计查询;而Fragment与自定义View则解决了多页面切换和输入体验优化的问题。本文以个人记账系统为例,从基础概念出发,解析如何将SQLite数据库操作、自定义软键盘、ViewPager2与TabLayout的页面架构,以及MPAndroidChart图表库整合到同一个工程中。内容覆盖账单录入、按月汇总、模糊搜索和可视化分析等典型场景,并提供
Android记账本App实战:SQLite持久化与RecyclerView列表实现
在Android应用开发中,数据持久化与列表高效渲染是两大基础能力。SQLite作为轻量级嵌入式数据库,凭借零配置、跨平台特性,成为移动端本地存储的首选方案;而RecyclerView则通过视图复用机制,承担着大量数据下的流畅列表展示。理解SQLiteOpenHelper的增删改查封装、游标安全关闭与事务处理,以及RecyclerView的适配器绑定与事件驱动刷新,是构建数据型App的关键。从记账本这类典型业务场景出发,结合Gradle工程配置与数据库版本迁移,不仅能完整跑通项目,还能掌握从单机Demo到可
Android登录系统
用sqlite实现用户注册,登录,以及增删改查。用listview显示查询数据
android 图片在sqlite里的存取操作
图片在sqlite里的存放,并取出显示于listview的操作


其他数据库
