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();// 標記事務結束
}
}
}