您的位置:首页 > 移动开发 > Android开发

Androidx学习笔记(20)-- SQLite创建 增删改查(普通方式和API方式)

2016-01-24 18:40 513 查看


创建数据库

//数据库创建时,此方法会调用
@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))");
}



测试数据库


初始化成员

//此时测试框架还没有初始化完毕,没有虚拟上下文对象
//	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(), "people.db", null, 1);
db = oh.getWritableDatabase();
}



关闭

//测试方法执行完毕之后,此方法调用
@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, salary, phone)values(?, ?, ?)", new Object[]{"小志的儿子", 14000, "13888"});
db.execSQL("insert into person (name, salary, phone)values(?, ?, ?)", new Object[]{"小志", 14000, "13888"});
}


注意:不检测数据类型,全部都是字符串类型保存的,不保存错误的数据类型,所以要注意书写正确


删除

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, "小志的儿子"});
}



查询

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);
}
}



API调用(增删改查)

public void insertApi(){
//把要插入的数据全部封装至ContentValues对象
ContentValues values = new ContentValues();
values.put("name", "游天龙");
values.put("phone", "15999");
values.put("salary", 16000);
db.insert("person", null, 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, null, null, null, null, null, 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: