写一个继承SQLiteOpenHelper 的类,重写2个抽象方法与一个构造方法。
super()方法中 返回context 与name name是数据库名称。
factory是浮标好像 我们返回忽略他 返回null 就可以了。
version(版本号) 不能为0 不能为0 不能为0 最少1 我就出过好几次写了0 导致数据库一直报错。
onCreate(SQLiteDatabase)方法内 SQLiteDatabase有一个execSQL()与rawQuery() 方法;
execSQL()可以使用create(创建) insert(插入) delete(删除) update(更新)这四种SQL语句。
create(创建表):db.execSQL("CREATE TABLE person(id integer PRIMARY KEY AUTOINCREMENT,A VARCHAR, B INTEGER)");
insert(插入):db.execSQL("insert into person (A,B) values(?,?)",new Object[]{values1,values2});
delete(删除) :db.execSQL("delete from person where id=? ", new Object[] { id });
update(更新): db.execSQL("update person set A=? , B=? where id=? ", new Object[] {A,B,id});
find(使用id来查找数据) db.rawQuery("select * from person where id=?",new String[] { String.valueOf(Id) });
find(多条件查询)select * from person where id=? and A=? and B=?" new String[] { String.valueOf(Id) ,A,B});
findAll(获取表中所有数据) db.rawQuery("select * from person",new String[] { });
Sql的语句中,and是& or 是| 与或 的表示形式。
查找数据的时候,如果你不添加条件,只添加表的情况下,他会返回表内所有的数据。
android 自带的方法有时候更好用一些,不过在速度上要比sql 语句要慢很多。
还有数据的事务,这个我不是很懂。
不过 事务 用于处理大量或者批量订单数据库操作,速度才会比 以上2个要快。
其他情况下,还是sql语句比较快。
专门写一个实体类和一个控制表的类结构会很清晰。插入 、删除、修改、查找 都写在控制类里面。
MVC是啥呢? 滑稽至上!
以上-------------------------------------------------------------------------------------------------------------------------
听说这是神兽?
反正我不信!
神兽能帮我们干完活吗?
- //┏┓ ┏┓
- //┏┛┻━━━┛┻┓
- //┃ ┃
- //┃ ━ ┃
- //┃ ┳┛ ┗┳ ┃
- //┃ ┃
- //┃ ┻ ┃
- //┃ ┃
- //┗━┓ ┏━┛
- // ┃ ┃
- // ┃ ┃
- // ┃ ┗━━━┓
- // ┃ ┣┓
- // ┃ ┏┛
- // ┗┓┓┏━┳┓┏┛
- // ┃┫┫ ┃┫┫
- // ┗┻┛ ┗┻┛