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

Androidx学习笔记(21)-- SQLite 事务

发布时间:2020-12-12 19:34:27 所属栏目:百科 来源:网络整理
导读:事务 保证所有sql语句要么一起成功,要么一起失败 保证多条SQL语句要么同时成功,要么同时失败 最常见案例:银行转账 事务api try { //开启事务 db.beginTransaction(); ........... //设置事务执行成功 db.setTransactionSuccessful();} finally{ //关闭事

事务

保证所有sql语句要么一起成功,要么一起失败
  • 保证多条SQL语句要么同时成功,要么同时失败
  • 最常见案例:银行转账
  • 事务api

try {
    //开启事务
    db.beginTransaction();
    ...........
    //设置事务执行成功
    db.setTransactionSuccessful();
} finally{
    //关闭事务
    //如果此时已经设置事务执行成功,则sql语句生效,否则不生效
    db.endTransaction();
}

测试代码

	public void transaction(){
		try{
			//开启事务
			db.beginTransaction();
			ContentValues values = new ContentValues();
			values.put("salary",12000);
			db.update("person",values,"name = ?",new String[]{"小志"});
			
            //因为后面用的也是同一个values, 会导致第二次调用的时候 会携带第一次的数据   此时最好清空下数据
			values.clear();
			values.put("salary",16000);
			db.update("person",new String[]{"小志的儿子"});
			
			//int i = 3/0;    //检测失败
			//设置  事务执行成功
			db.setTransactionSuccessful();
		}
		finally{
			//关闭事务,同时提交,如果已经设置事务执行成功,那么sql语句就生效了,反之,sql语句回滚
			db.endTransaction();
		}
	}

(编辑:李大同)

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

    推荐文章
      热点阅读