创建数据库
//数据库创建时,此方法会调用 @Override public void onCreate(sqliteDatabase db) { db.execsql("create table person(_id integer primary key autoincrement,name char(10),salary char(20),phone integer(20))"); }@H_404_4@
测试数据库
初始化成员
//此时测试框架还没有初始化完毕,没有虚拟上下文对象 // private MyOpenHelper oh = new MyOpenHelper(getContext(),"people.db",null,1); private MyOpenHelper oh; private sqliteDatabase db; //测试框架初始化完毕之后,在测试方法执行之前,此方法调用 @Override protected void setUp() throws Exception { super.setUp(); oh = new MyOpenHelper(getContext(),1); db = oh.getWritableDatabase(); }@H_404_4@
关闭
//测试方法执行完毕之后,此方法调用 @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub super.tearDown(); db.close(); }
插入
public void insert(){ // db.execsql("insert into person (name,salary,phone)values(?,?,?)",new Object[]{"小志的老婆[1]","13000",138438}); // db.execsql("insert into person (name,new Object[]{"小志的儿子",14000,"13888"}); db.execsql("insert into person (name,new Object[]{"小志","13888"}); }@H_404_4@
注意:不检测数据类型,全部都是字符串类型保存的,不保存错误的数据类型,所以要注意书写正确
删除
public void delete(){ <span style="white-space:pre"> </span>db.execsql("delete from person where name = ?",new Object[]{"小志"}); <span style="white-space:pre"> </span>}
修改
public void update(){ db.execsql("update person set phone = ? where name = ?",new Object[]{186666,"小志的儿子"}); }@H_404_4@
查询
public void select(){ Cursor cursor = db.rawQuery("select name,salary from person",null); while(cursor.moveToNext()){ //通过列字段名获取列的值 String name = cursor.getString(cursor.getColumnIndex("name")); //通过列索引获取列的值 String salary = cursor.getString(1); System.out.println(name + ";" + salary); } }@H_404_4@ @H_404_4@
API调用(增删改查)
public void insertApi(){ //把要插入的数据全部封装至ContentValues对象 ContentValues values = new ContentValues(); values.put("name","游天龙"); values.put("phone","15999"); values.put("salary",16000); db.insert("person",values); } public void deleteApi(){ int i = db.delete("person","name = ? and _id = ?",new String[]{"小志的儿子","3"}); System.out.println(i); } public void updateApi(){ ContentValues values = new ContentValues(); values.put("salary",26000); int i = db.update("person",values,"name = ?",new String[]{"游天龙"}); System.out.println(i); } public void selectApi(){ Cursor cursor = db.query("person",null); while(cursor.moveToNext()){ String name = cursor.getString(cursor.getColumnIndex("name")); String phone = cursor.getString(cursor.getColumnIndex("phone")); String salary = cursor.getString(cursor.getColumnIndex("salary")); System.out.println(name + ";" + phone + ";" + salary); } }