public void payment() { SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); db.beginTransaction();//開始事務 try { db.execSQL("update person set amount=amount-10 where personid=2"); db.execSQL("update person set amount=amount+10 where personid=5"); db.setTransactionSuccessful();// 設置事務的標志為true,調用此方法會在執行到endTransaction()方法是提交事務,若沒有調用此方法會在執行到endTransaction()方法回滾事務。 } catch (SQLException e) { } finally { db.endTransaction(); } // 結束事務,有兩種情況:commit,rollback, // 事務的提交或回滾是由事務的標志決定的,如果事務的標志為true就會提交,否則回滾,默認情況下事務的標志為false }