使用SQLiteDatabase的beginTransaction()方法可以開啟一個事務,程序執行到endTransaction() 方法時會檢查事務的標志是否為成功,如果為成功則提交事務,否則回滾事務。當應用需要提交事務,必須在程序執行到endTransaction()方法之前使用setTransactionSuccessful() 方法設置事務的標志為成功,如果不調用setTransactionSuccessful() 方法,默認會回滾事務。
使用例子如下: 1 SQLiteDatabase db = .; 2 db.beginTransaction();//開始事務 3 try { 4 db.execSQL("insert into person(name, age) values(?,?)", new Object[]{"gaolei", 22}); 5 db.execSQL("update person set name=? where personid=?", new Object[]{"zhangsan", 1}); 6 db.setTransactionSuccessful();//調用此方法會在執行到endTransaction() 時提交當前事務,如果不調用此方法會回滾事務 7 } finally { 8 db.endTransaction();//由事務的標志決定是提交事務,還是回滾事務 9 } 10 db.close();
上面兩條SQL語句在同一個事務中執行。
|
|
常用鏈接
留言簿
隨筆分類
隨筆檔案
文章分類
搜索
最新評論

閱讀排行榜
評論排行榜
|
|