1. 程式人生 > >Android Transaction事務操作

Android Transaction事務操作

1,事務:要麼程式碼執行都成功,要麼程式碼執行都失敗

2,事務的標準寫法:

事務的標準寫法:

db.beginTransaction();

try {

...

db.setTransactionSuccessful();

} finally {

db.endTransaction();

}

3,事務的用法:

public class BankTest extends AndroidTestCase {

    private SQLiteDatabase db;

    @Override

    protected void setUp() throws Exception {

        super.setUp();

        MyHelper helper = new MyHelper(getContext());

        db = helper.getReadableDatabase();

    }

    public void bankTest() {

        // 事務: 一組sql語句 要麼都執行成功 要麼都執行失敗   回滾

        db.beginTransaction(); // 標記事務開始

        try {

            //使用增刪改查

            db.execSQL("update bank set money=money-4000 where id =1");

            db.execSQL("update bank set money=money+4000 where id=2");

            db.setTransactionSuccessful(); // 標記事務執行成功

        } finally {

            db.endTransaction();// 標記事務結束

        }

    }

}