加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 19:34:28 所属栏目:百科 来源:网络整理
导读:创建数据库 //数据库创建时,此方法会调用@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("create table person(_id integer primary key autoincrement,name char(10),salary char(20),phone integer(20))");} 测试数据库 初始化成员 //此

创建数据库

//数据库创建时,此方法会调用
	@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(),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,new Object[]{"小志的儿子",14000,"13888"});
		db.execSQL("insert into person (name,new Object[]{"小志","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",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);
		}
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读