博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Sqite数据库 <3>
阅读量:4449 次
发布时间:2019-06-07

本文共 2225 字,大约阅读时间需要 7 分钟。

根据上一篇文章,要注意一个操作,就是查询当然直接返回游标Cursor也行,但是如果我一定要返回一条数据,而不是Cursor,如果返回一条数据,我在应用层就可以直接使用数据了,而不需要再去while查找出一条适合的数据条目,那么就可以这样:

步骤如下:在上一篇的基础上:

<1> : 首先新建一个对象类:

public class DataUser {    int id;    String user;    String nickname;    String password;    }

<2> : 更新上篇中的类SQLHelper,添加查询方法:

public DataUser querys(/*query condition, eg : id*/int id){                SQLiteDatabase sqldb=this.getReadableDatabase();                DataUser usr=new DataUser();                String columns[]={SQLManager.TABLE_USER_FIELD,SQLManager.TABLE_PASSWORD_FIELD,SQLManager.TABLE_NICKNAME_FIELD};        String orderby=SQLManager.TABLE_ID_FIELD;                String selections="id=?";        String conditions[]=new String[]{""+id};                Cursor cr = sqldb.query(SQLManager.SQ_LITE_DATABASE_TABLE, columns,     selections, conditions, null, null, null);                cr.moveToFirst();        //only a data list return                usr.id=id;        usr.user=cr.getString(1);        usr.nickname=cr.getString(2);        usr.password=cr.getString(3);                return usr;            }

<3> : 如果有很多条记录需要返回,可以这样改:比如返回密码相同的所有数据条目:

public List
querys(/* query condition, eg : pwd */String password) { SQLiteDatabase sqldb = this.getReadableDatabase(); List
usrl = new ArrayList
(); DataUser usr=new DataUser(); String columns[] = { SQLManager.TABLE_USER_FIELD, SQLManager.TABLE_PASSWORD_FIELD, SQLManager.TABLE_NICKNAME_FIELD }; String orderby = SQLManager.TABLE_ID_FIELD; String selections = "u_pwd=?"; String conditions[] = new String[] { "" + password }; Cursor cr = sqldb.query(SQLManager.SQ_LITE_DATABASE_TABLE, columns,     selections, conditions, null, null, null); cr.moveToFirst(); // only a data list return while (!cr.isAfterLast()) { usr.id = cr.getInt(0); usr.user = cr.getString(1); usr.nickname = cr.getString(2); usr.password = cr.getString(3); usrl.add(usr); cr.moveToNext(); } return usrl; }

OK,其他的一次类推即可以了

 

 

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3627412.html

你可能感兴趣的文章
九度oj题目1521:二叉树的镜像
查看>>
java运行时内存分类
查看>>
为什么说 Git 比 SVN 更好
查看>>
CSS的定位和浮动
查看>>
Storm启动流程分析
查看>>
C++11中lock_guard和unique_lock的区别
查看>>
解决find命令报错: paths must precede expression
查看>>
LVS 手册学习
查看>>
Lua's performance
查看>>
seajs快速了解
查看>>
Java Spring MVC项目搭建(二)——项目配置
查看>>
Async分析
查看>>
js 组件化
查看>>
图的应用:哈密尔顿路径
查看>>
js计算日期相减天数
查看>>
MATLAB实现Catmull-Clark细分(CC细分)
查看>>
jquery 判断元素是否隐藏
查看>>
第一百九十五天 how can I 坚持
查看>>
Swift 入门之简单语法(五)
查看>>
多视几何——三角化求解3D空间点坐标
查看>>