博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习之路之数据的使用(二)
阅读量:3686 次
发布时间:2019-05-21

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

下午学习了SQLite并用刚学的做了一个非常简单的信息管理系统,系统完整做出来之后,我感觉单机版的管理系统都应该能做出来了!!!!

现在开始讲讲SQLite的用法(增删查改)

介绍什么的就不说了,百度一大推,还有讲一下,既然是数据库我都喜欢图形化的操作,我在网上找了个,感觉不错推荐大家用一下

http://yunpan.cn/Q7bYmCQucJ9qU  提取码 fb99

界面是这样的

用起来挺方便的!

SQLite提供了一个类SQLiteOpenHelper,可以当做一个工具类

自己写一个DBOpenHelper来继承它,里面修改数据库名和版本号。代码如下:

public class DBOpenHelper extends SQLiteOpenHelper {	private static final String DBNAME = "sutdent.db";	private static final int VERSION = 1;	private static final String TAG="DBOpenHelper";	/**	 * 	 * @param context	 * 构造函数(库名、版本号)	 */	public DBOpenHelper(Context context) {		super(context,DBNAME, null, VERSION);	}	@Override	/*	 * (non-Javadoc)	 * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)	 * 一般是建表和默认数据	 */	public void onCreate(SQLiteDatabase db) {				String sql = "CREATE TABLE table_student(sid integer primary key,name varchar(20),age inter);";		db.execSQL(sql);		db.execSQL("insert into table_student values(1,'雄霸天',20)");		db.execSQL("insert into table_student values(2,'黑旋风',21)");		db.execSQL("insert into table_student values(3,'帅气刘',22)");				Log.i(TAG, "onCreate");	}	@Override	/**	 * 一般是应用升级使用,同时对数据库进行升级	 * 	 */	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {		Log.i(TAG, "onUpgrade");	}}
大家可以看看上述代码,很简单
super(context,DBNAME, null, VERSION);
指定数据库的名字,这里说一下,数据库的名字最好加上“.db”如“student.db”这样才能算是一个标准的数据库文件

版本号就默认1

数据库的语句依然是SQL语句,没有改变,改变的是如何运行这些sql语句

下面介绍一下(最基础最基本的运行方法)

增加,删除等不返回数值的sql语句可以使用

			db.execSQL(sql);			db.execSQL("update table_student set name="+name+",age="+age+" where sid="+id);			db.execSQL(sql, Object[]);			db.execSQL("update table_student set name=?,age=? where sid=?",new Object[]{name,age,id});
同样的效果,建议用第二种!

到这里不禁要问,db如何而来

在使用Model里使用DBOpenHelper的时候这样写

private DBOpenHelper helper;	private SQLiteDatabase db;		public StudentDao(Context context){		helper = new DBOpenHelper(context);		db = helper.getWritableDatabase();	}
然后就任意使用db了

当需要从数据库提取值的时候需要这样用

/*获取全部学生*/	public List
getAllList(){ List
list = new ArrayList
(); Cursor cursor = db.rawQuery("select * from table_student"}); while(cursor.moveToNext()){ Student student = new Student(cursor.getInt(0),cursor.getString(1),cursor.getShort(2)); list.add(student); } return list; }
注意这个Cursor就像SQL里的Result一样,sql语句需要query,当然了也有其他的方法如

Cursor cursor = db.query("table_student", null, null, null, null, null, null);
这样写有点繁琐,不如一句sql语句痛快,这样写,参数比较多

我喜欢第一种

别忘了最后要关闭db,不然电脑会变卡的!

到此SQLite算是入门了,基本的增删查改都会了,管理系统就能很轻松的写出来了!!!!

你可能感兴趣的文章
面试题总结
查看>>
简易小地图制作重点
查看>>
Lua中的元表元方法
查看>>
第九章 质量与变更管理
查看>>
Rabbitmq高级特性及集群
查看>>
RocketMq入门
查看>>
RocketMQ高级原理详解
查看>>
RocketMQ应用
查看>>
kafka搭建与使用
查看>>
docke学习内容之二
查看>>
SpringDataJpa学习一
查看>>
springboot中的日志框架
查看>>
springboot的MVC自动配置
查看>>
Springboot中对mvc进行扩展
查看>>
一文读懂HashMap
查看>>
ConcurrentModifcationException详解
查看>>
史上最全的PHP正则表达式
查看>>
理解Mysql prepare预处理语句
查看>>
预编译语句(Prepared Statements)介绍,以MySQL为例
查看>>
单利模式
查看>>