iOS中FMDB事務(wù)實(shí)現(xiàn)批量更新數(shù)據(jù)
本文實(shí)例為大家分享了iOS中FMDB事務(wù)實(shí)現(xiàn)批量更新數(shù)據(jù),供大家參考,具體內(nèi)容如下
打開(kāi)數(shù)據(jù)庫(kù)(sqlite)
///打開(kāi)數(shù)據(jù)庫(kù) + (BOOL)openDataBase{ _TYDatabase = [[FMDatabase alloc]initWithPath:[self databasePath]]; if ([_TYDatabase open]) { return YES; } return NO; } ///數(shù)據(jù)庫(kù)路徑 + (NSString *)databasePath{ NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString *dataPath = [documentPath stringByAppendingPathComponent:@"TY.SQLite"]; NSFileManager *fileM = [NSFileManager defaultManager]; if (![fileM fileExistsAtPath:dataPath]) { NSString *filePath = [[NSBundle mainBundle] pathForResource:@"TY" ofType:@"SQLite"]; [fileM copyItemAtPath:filePath toPath:dataPath error:nil]; } NSLog(@"%@",dataPath); return dataPath; }
事務(wù)
/** 事務(wù) arraySql:SQL語(yǔ)句數(shù)組 */ - (void)beginTransaction:(NSArray *)arraySql; { //// static FMDatabase *_TYDatabase = nil; BOOL isOpen=[_TYDatabase open]; if (!isOpen) { NSLog(@"打開(kāi)數(shù)據(jù)庫(kù)失敗!"); return; } ///開(kāi)始事物 [_TYDatabase beginTransaction]; BOOL isRollBack = NO; @try { for (int i = 0; i<arraySql.count; i++) { BOOL result = [_TYDatabase executeUpdate:arraySql[i]]; if (!result) { NSLog(@"操作失敗【%d】== SQL:%@",i,arraySql[i]); } } } @catch (NSException *exception) { isRollBack = YES; ///回滾 [_TYDatabase rollback]; } @finally { if (!isRollBack) { ///提交 [_TYDatabase commit]; } } [_TYDatabase close]; }
多線程事務(wù)
/** 多線程事務(wù) arraySql:SQL語(yǔ)句數(shù)組 */ + (void)beginTransactionT:(NSArray *)arraySql{ FMDatabaseQueue *databaseQueue = [FMDatabaseQueue databaseQueueWithPath:[self databasePath]]; [databaseQueue inTransaction:^(FMDatabase *db, BOOL *rollback) { BOOL result = NO; for (int i = 0; i < arraySql.count; i++) { result = [_TYDatabase executeUpdate:arraySql[i]]; } if (result) { NSLog(@"成功"); } }]; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS10添加本地推送(Local Notification)實(shí)例
這篇文章主要為大家詳細(xì)介紹了iOS10添加本地推送(Local Notification)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09iOS實(shí)現(xiàn)左右拖動(dòng)抽屜效果
這篇文章主要介紹了iOS實(shí)現(xiàn)左右拖動(dòng)抽屜效果,理解ios平臺(tái)類似于QQ主頁(yè)面,利用觸摸事件滑動(dòng)touchesMoved實(shí)現(xiàn)的效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02iOS自動(dòng)進(jìn)行View標(biāo)記的方法詳解
這篇文章主要給大家介紹了關(guān)于iOS自動(dòng)進(jìn)行View標(biāo)記的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04iOS16使用SwiftUI Charts創(chuàng)建折線圖實(shí)現(xiàn)實(shí)例
這篇文章主要為大家介紹了iOS16使用SwiftUI Charts創(chuàng)建折線圖實(shí)現(xiàn)實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11詳解iOS開(kāi)發(fā)中解析JSON中的boolean類型的數(shù)據(jù)遇到的問(wèn)題
這篇文章主要介紹了詳解iOS開(kāi)發(fā)中解析JSON中的boolean類型的數(shù)據(jù)遇到的問(wèn)題,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12