本文实例为大家分享了iOS中FMDB事务实现批量更新数据,供大家参考,具体内容如下
打开数据库(sqlite)
///打开数据库 + (BOOL) openDataBase { _TYDatabase=[[FMDatabase alloc] initWithPath:(自我databasePath]开始); 如果([_TYDatabase开放]){ 返回YES; } 返回NO; }///数据库路径 + (NSString *) databasePath{开始 NSString * documentPath=[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask,是的)lastObject]; NSString * dataPath公司=[documentPath stringByAppendingPathComponent: @“TY.SQLite”); NSFileManager *《=[NSFileManager defaultManager]; 如果(!(《fileExistsAtPath: dataPath公司)){ NSString * filePath=[[NSBundle mainBundle] pathForResource: @减低:“泰”@“SQLite”); (《copyItemAtPath: filePath toPath: dataPath公司错误:nil); } NSLog (@ % @”, dataPath公司); 返回dataPath公司; } >之前事务
/* * 事务 arraySql: SQL语句数组 */- (void) beginTransaction (NSArray *): arraySql; {////静态FMDatabase * _TYDatabase=零; BOOL isOpen=(_TYDatabase开放); 如果(! isOpen) { NSLog(@“打开数据库失败!”); 返回; }///开始事物 [_TYDatabase beginTransaction]; BOOL isRollBack=没有; @try { for (int i=0;i之前 多线程事务
/* * 多线程事务 arraySql: SQL语句数组 */*)+ (void) beginTransactionT:(NSArray arraySql { FMDatabaseQueue * databaseQueue=[FMDatabaseQueue databaseQueueWithPath:(自我databasePath]开始); [databaseQueue inTransaction: ^ (FMDatabase * db, BOOL *回滚){ BOOL结果=没有; for (int i=0;我& lt;arraySql.count;我+ +){ 结果=[_TYDatabase executeUpdate: arraySql[我]]; } 如果(结果){ NSLog(@”成功”); } }); } >之前以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
iOS中FMDB事务实现批量更新数据