时间:2021-05-20
本文实例为大家分享了iOS中FMDB事务实现批量更新数据,供大家参考,具体内容如下
打开数据库(sqlite)
///打开数据库+ (BOOL)openDataBase{ _TYDatabase = [[FMDatabase alloc]initWithPath:[self databasePath]]; if ([_TYDatabase open]) { return YES; } return NO;}///数据库路径+ (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; }事务
/** 事务 arraySql:SQL语句数组 */- (void)beginTransaction:(NSArray *)arraySql;{ //// static FMDatabase *_TYDatabase = nil; BOOL isOpen=[_TYDatabase open]; if (!isOpen) { NSLog(@"打开数据库失败!"); return; } ///开始事物 [_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];}多线程事务
/** 多线程事务 arraySql:SQL语句数组 */+ (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(@"成功"); } }];}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、事务理论学习利用数据库事务实现应用事务控制1.要求:同一个事务需要同一个库的同一个连接。2.3.分布式事务JTA二、spring事务处理建模1.2.三、sp
一、简单说明1.什么是FMDBFMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言API2.FMDB的优点使用起来更加面向
1、java数据库操作基本流程 2、几个常用的重要技巧: 可滚动、更新的记录集 批量更新 事务处理 java数据库操作基本流程:取得数据库连接-执行s
在数据库编程中,事务是经常需要用到的技术,在.net平台上,事务处理是非常好用的,但是在SqlServer数据库的存储过程中如何使用事务来完成数据的批量操作呢?
复制代码代码如下:另外一段代码是基于我这个数据库操作类的事务实例:复制代码代码如下:/*注意,数据库操作表类型必须为InnoDB,其他类型不支持事务PDO事务机