IOS第三方数据库FMDatabase的简单使用

  1.  1,拿到数据库文件的路径  
  2. self.path = NSHomeDirectory();  
  3. self.path = [path stringByAppendingPathComponent:@"Documents/data.db"];  
  4. 2,拿到数据库对象,打开数据库,如果这个数据库不存在,就会自动创建  
  5. FMDatabase* db = [FMDatabase databaseWithPath:path];  
  6.     BOOL res = [db open];  
  7.     if (res == NO) {  
  8.         NSLog(@"打开失败");  
  9.         return;  
  10.     }else{  
  11.         NSLog(@"数据库打开成功");  
  12.     }  
  13. 3,//如果表不存在,创建  
  14.     res = [db executeUpdate:@"create table if not exists Students(name,score,image)"];//执行sql语句  
  15.       
  16.     if (res == NO) {  
  17.         NSLog(@"创建失败");  
  18.         [db close];//关闭数据库  
  19.         return;  
  20.     }else if(res==YES){  
  21.         NSLog(@"创建成功");  
  22.     }  
  23. 4,表创建成功之后,就进行增删改查的操作:  
  24.      1>,插入数据  
  25.     res = [db executeUpdate:@"insert into Students values (?,?,?)", name, num, headData];  
  26.     if (res == NO) {  
  27.         NSLog(@"插入失败");  
  28.     }  
  29.     [db close];  
  30.     2>,删除操作:  
  31. - (void)del:(id)sender{  
  32.     FMDatabase* db = [FMDatabase databaseWithPath:path];  
  33.     //打开数据库  
  34.     BOOL res = [db open];  
  35.     //如果失败,退出方法  
  36.     if (res == NO) {  
  37.         NSLog(@"打开失败");  
  38.         return;  
  39.     }  
  40.     //删除  
  41.     res = [db executeUpdate:@"delete from Students where name=?",nameField.text];  
  42.     if (res == NO) {  
  43.         NSLog(@"删除失败");  
  44.     }  
  45.     [db close];  
  46. }  
  47.     3>,更新操作:  
  48. - (void)update:(id)sender{  
  49.     FMDatabase* db = [FMDatabase databaseWithPath:path];  
  50.     BOOL res = [db open];  
  51.     if (res == NO) {  
  52.         NSLog(@"打开失败");  
  53.         return;  
  54.     }  
  55.       
  56.     NSNumber* num = [NSNumber numberWithInt:[scoreField.text intValue]];  
  57.     res = [db executeUpdate:@"update Students set score=? where name=?", num, nameField.text];  
  58.     if (res == NO) {  
  59.         NSLog(@"修改失败");  
  60.     }  
  61.     [db close];  
  62. }  
  63.      4>,查询操作:  
  64. <span>  </span>  
  65. - (void)fetch:(id)sender{  
  66.     FMDatabase* db = [FMDatabase databaseWithPath:path];  
  67.     BOOL res = [db open];  
  68.     if (res == NO) {  
  69.         NSLog(@"打开失败");  
  70.         return;  
  71.     }  
  72.       
  73.     FMResultSet* set = [db executeQuery:@"select * from Students"];//FMResultSet相当于游标集  
  74.     //创建数组,保存所有学生信息  
  75.     NSMutableArray* array = [NSMutableArray arrayWithCapacity:0];  
  76.     //遍历Students表  
  77.     while ([set next]) {//有下一个的话,就取出它的数据,然后关闭数据库  
  78.         //姓名  
  79.         NSString* name = [set stringForColumn:@"name"];  
  80.         //成绩  
  81.         int score = [set intForColumnIndex:1];  
  82.         //照片  
  83.         NSData* data = [set dataForColumnIndex:2];  
  84.         //float a = [[set objectForColumnIndex:3] floatValue];  
  85.         UIImage* image = [UIImage imageWithData:data];  
  86.           
  87.         StudentItem* student = [[StudentItem alloc] init];  
  88.         student.name = name;  
  89.         student.score = score;  
  90.         student.image = image;  
  91.         [array addObject:student];  
  92.         [student release];  
  93.     }  
  94.     [db close];  
  95.      
  96. }     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值