码迷,mamicode.com
首页 > 移动开发 > 详细

Android数据库的事务

时间:2016-07-24 23:58:25      阅读:416      评论:0      收藏:0      [点我收藏+]

标签:

事务: 执行多条sql语句,要么同时执行成功,要么同时执行失败,不能有的成功,有的失败

    银行转账


    //点击按钮执行该方法
    public void transtation(View v){
        //1.创建一个帮助类的对象
        BankOpenHelper bankOpenHelper = new BankOpenHelper(this);
        //2.调用数据库帮助类对象的getReadableDatabase创建数据库,初始化表数据,获取一个SqliteDatabase对象去做转账(sql语句)
        SQLiteDatabase db = bankOpenHelper.getReadableDatabase();
        //3.转账,将李四的钱减200,张三加200
        db.beginTransaction();//开启一个数据库事务
        try {
            db.execSQL("update account set money= money-200 where name=?",new String[]{"李四"});
            int i = 100/0;//模拟一个异常
            db.execSQL("update account set money= money+200 where name=?",new String[]{"张三"});

            db.setTransactionSuccessful();//标记事务中的sql语句全部成功执行
        } finally {
            db.endTransaction();//判断事务的标记是否成功,如果不成功,回滚错误之前执行的sql语句 
        }
    }

Android数据库的事务

标签:

原文地址:http://www.cnblogs.com/xufengyuan/p/5701872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!