基於FMDB資料庫事務的使用

2021-07-05 17:34:36 字數 800 閱讀 2294

18 - (void)viewdidload

19 else

36

39 }];

40 self.queue=queue;

42 }

44 -(void)touchesbegan:(nsset *)touches withevent:(uievent *)event

45 ];

50

51 //查詢資料

52 [self.queue indatabase:^(fmdatabase *db)

63 }];

64 65 }

66 67 @end

事務,沒有事務的話會出現問題。

舉例:銀行的例子

張三和李四賬戶都有1000塊錢,如果張三要轉賬給李四,需要執行兩條sql語句,考慮到安全性,要求這兩條魚具要麼全部執行成功,要不全部執行失敗。 事務

:把多條語句放到同乙個事務中,要麼全部成功,要不全部失敗(如果中途出現問題,那麼會自動回滾)。事務的執行具有原子性。

事務**處理:

把多條語句新增到乙個事務中去執行:

1    //插入資料

2 [self.queue indatabase:^(fmdatabase *db) ];

事務處理的另一種方式:

1 [self.queue intransaction:^(fmdatabase *db, bool *rollback) ];

使用FMDB事務批量更新資料庫

在ios中有兩種比較常用的資料庫,一種是sqlite,另外一種是coredata 這二者的優缺點在這裡不再贅述,如有感興趣的同學可以查閱相關資料 令人興奮的是,當談到 事務 時,我想到了sqlite本身是支援事務操作的,fmdb作為sqlite的上層封裝也對事務進行了支援,那麼說了這麼多給不了解 事...

使用FMDB事務批量更新資料庫

我們公司現在這個專案每次發新版本,都要求插入最新的本地資料。所以我要在使用者更新完程式第一次啟動時,在使用者的舊資料庫表裡插入或替換好幾千條資料。這樣就會在啟動頁變得比較慢。我記得以前學過事務這麼個東西可以讓這一過程變快,但具體用法已經忘了,便開始在網上找尋事務的用法。下面是我複製的文章資訊 今天比...

使用FMDB事務批量更新資料庫速度問題

今天比較閒看到大家在群裡討論關於資料庫操作的問題,其中談到了 事務 這個詞,坦白講雖然作為計算機專業的學生,在上學的時候確實知道儲存過程 觸發器 事務等等這些名詞的概念,但是由於畢業後從事的不是伺服器方面的工作,對資料庫方面的知識一直停留在理論階段,在ios中有兩種比較常用的資料庫,一種是sqlit...