iOS数据库操作fmdb1: FMDB数据库使用

来源:互联网 发布:mysql 主从配置 编辑:程序博客网 时间:2024/05/21 07:11
FMDatabase 数据库

1.下载FMDatabase
    导入下载里面的src文件,删了fmdb.m文件
2.引入framework:libsqlite3.dylib
3.引入头文件
    #import "FMDatabase.h
    数据库文件要兼容iPhone4iPhone5需要放在DocumentLibrary目录中,先判断Document/Library中数据库文件(一般是.sqlite后缀)是否存在,如果不存在则从工程(bundle)中把数据库文件拷贝到Document中或Library中。

以下是我是我工程中用过的一个数据库操作代码,记下来,免得忘记了:
[cpp] view plaincopyprint?
  1. //数据库操作,1代表增减,2代表删除,3,代表查询,4,代表修改  
  2. -(void)operateDB:(NSInteger)num andRow:(NSInteger)row status:(NSInteger)status{  
  3.     self.deleteOld = YES;  
  4.     self.dbFile = @"shopCar_db.sqlite";  
  5.     NSFileManager *manager = [NSFileManager defaultManager];  
  6.     NSString *dbPath = [Utilities documentsPath:self.dbFile];  
  7.       
  8.     //没存在则拷贝到document  
  9.     if (![manager fileExistsAtPath:dbPath]) {  
  10.         NSString *bundlePath = [Utilities bundlePath:self.dbFile];  
  11.         if ([manager copyItemAtPath:bundlePath toPath:dbPath error:nil]) {  
  12.             NSLog(@"copy ok...");  
  13.         }  
  14.         else  
  15.         {  
  16.             NSLog(@"copy error...");  
  17.         }  
  18.     }  
  19.     else{  
  20.         if (self.deleteOld) {  
  21.             NSLog(@"delete old and create new..");  
  22.             NSString *bundlePath = [Utilities bundlePath:self.dbFile];  
  23.             [manager removeItemAtPath:dbPath error:nil];  
  24.             [manager copyItemAtPath:bundlePath toPath:dbPath error:nil];  
  25.         }  
  26.         else  
  27.         {  
  28.             NSLog(@"do nothing...");  
  29.         }  
  30.           
  31.     }  
  32.       
  33.       
  34.     FMDatabase *db = [FMDatabase databaseWithPath:dbPath];  
  35.     NSLog(@"begin to db...");  
  36.     if ([db open]) {  
  37.         if(status == 1){  
  38.             NSLog(@"增减.......");  
  39.         }  
  40.         if(status == 2){  
  41.             NSString *sql = [NSString stringWithFormat:@"delete from shopCar_tb where id = %i",row];  
  42.             [db executeUpdate:sql];  
  43.         }  
  44.         if(status == 3){  
  45.             NSLog(@"查询........");  
  46.         }  
  47.         if(status == 4){  
  48.             NSString *sql = [NSString stringWithFormat:@"UPDATE shopCar_tb SET num = '%d' WHERE id = %d",num,row];  
  49.             [db executeUpdate:sql];  
  50.         }  
  51.         NSString *sql = @"select * from shopCar_tb";  
  52.         FMResultSet *result = [db executeQuery:sql];  
  53.         _mutableArrayData = [[NSMutableArray alloc] init];  
  54.         [_mutableArrayData removeAllObjects];  
  55.         [_mutableDictionayData removeAllObjects];  
  56.         while ([result next]) {  
  57.             _mutableDictionayData = [[NSMutableDictionary alloc] init];  
  58.             NSString *sid = [result stringForColumn:@"id"];  
  59.             [_mutableDictionayData setObject:sid forKey:@"id"];  
  60.               
  61.             NSString *name = [result stringForColumn:@"name"];  
  62.             [_mutableDictionayData setObject:name forKey:@"name"];  
  63.               
  64.             NSString *gid = [result stringForColumn:@"gid"];  
  65.             [_mutableDictionayData setObject:gid forKey:@"gid"];  
  66.               
  67.             NSString *num = [result stringForColumn:@"num"];  
  68.             [_mutableDictionayData setObject:num forKey:@"num"];  
  69.             NSLog(@"num = %i",[num intValue]);  
  70.               
  71.             NSString *price = [result stringForColumn:@"price"];  
  72.             [_mutableDictionayData setObject:price forKey:@"price"];  
  73.               
  74.             NSString *path = [result stringForColumn:@"path"];  
  75.             [_mutableDictionayData setObject:path forKey:@"path"];  
  76.               
  77.             [_mutableArrayData addObject:_mutableDictionayData];  
  78.         }  
  79.           
  80.     }  
  81.     [db close];  
  82.       
  83.     NSLog(@"end db...");  
  84.       
  85.       
  86. }  
0 0
原创粉丝点击