iOS中FMDB事务实现批量更新数据
本文实例为大家分享了iOS中FMDB事务实现批量更新数据,供大家参考,具体内容如下
打开数据库(sqlite)
///打开数据库 +(BOOL)openDataBase{ _TYDatabase=[[FMDatabasealloc]initWithPath:[selfdatabasePath]]; if([_TYDatabaseopen]){ returnYES; } returnNO; } ///数据库路径 +(NSString*)databasePath{ NSString*documentPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)lastObject]; NSString*dataPath=[documentPathstringByAppendingPathComponent:@"TY.SQLite"]; NSFileManager*fileM=[NSFileManagerdefaultManager]; if(![fileMfileExistsAtPath:dataPath]){ NSString*filePath=[[NSBundlemainBundle]pathForResource:@"TY"ofType:@"SQLite"]; [fileMcopyItemAtPath:filePathtoPath:dataPatherror:nil]; } NSLog(@"%@",dataPath); returndataPath; }
事务
/** 事务 arraySql:SQL语句数组 */ -(void)beginTransaction:(NSArray*)arraySql; { ////staticFMDatabase*_TYDatabase=nil; BOOLisOpen=[_TYDatabaseopen]; if(!isOpen){ NSLog(@"打开数据库失败!"); return; } ///开始事物 [_TYDatabasebeginTransaction]; BOOLisRollBack=NO; @try{ for(inti=0;i多线程事务
/** 多线程事务 arraySql:SQL语句数组 */ +(void)beginTransactionT:(NSArray*)arraySql{ FMDatabaseQueue*databaseQueue=[FMDatabaseQueuedatabaseQueueWithPath:[selfdatabasePath]]; [databaseQueueinTransaction:^(FMDatabase*db,BOOL*rollback){ BOOLresult=NO; for(inti=0;i以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。