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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。