zoukankan      html  css  js  c++  java
  • 实例教程七:在SQLite中使用事务

    系统文件管理器
    http://www.eoeandroid.com/thread-128567-1-1.html

    android 实现区域截图
    http://www.eoeandroid.com/thread-149439-1-1.html

    影院选坐 写着玩的
    http://www.eoeandroid.com/thread-151980-1-1.html

    继上章
    1.在数据库表person添加字段amount
    2.在Person类中添加相应的amount
    3.在PersonService添加payment()方法

    public void payment(){
     
                    SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
     
                    db.beginTransaction(); //开户事务
     
                    try{
     
                    db.execSQL("update person set amount=amount-10 where personId=1");
     
                    db.execSQL("update person set amount=amount-10 where personId=2");
     
                    db.setTransactionSuccessful(); //设置事务的标志为True
     
                    }finally{
     
                            //为何要加try...catch
     
                            //因为添加了db.setTransactionSuccessful(),若execSQL中出现问题
     
                            //则不会执行db.endTransaction()
     
                            db.endTransaction(); //结束事务,有2种情况:commit, rollback
     
                    }                
                    //事务的提交或回滚是由事务的标志决定的
     
                    //如果事务的标志为True,事务就会提交
     
                    //否则事务就会回滚,默认情况下事务的标志为false
     
            }

    4.初始化amount值,便于调用

    public void testUpdateAmount() throws Exception{
     
                    PersonService service = new PersonService(this.getContext());
     
                    Person person1 = service.find(1);
     
                    Person person2 = service.find(2);
     
                    person1.setAmount(100);
     
                    person2.setAmount(200);
     
                    service.update(person1);
     
                    service.update(person2);
     
            }

    5.在单元测试类PersonServiceTest中添加测试方法testPayment()

    public void testPayment() throws Exception{
     
                    PersonService service = new PersonService(this.getContext());
     
                    service.payment();
     
            }
  • 相关阅读:
    输入框组
    下拉菜单
    地毯文(立足根本的基础细节篇)
    按钮组 button group
    offices web apps server2013 部署
    appium学习
    python练习
    Jmeter分布式测试
    centos安装远程桌面
    进程与线程
  • 原文地址:https://www.cnblogs.com/vus520/p/2733786.html
Copyright © 2011-2022 走看看