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

 1,拿到数据库文件的路径
self.path = NSHomeDirectory();
self.path = [path stringByAppendingPathComponent:@"Documents/data.db"];
2,拿到数据库对象,打开数据库,如果这个数据库不存在,就会自动创建
FMDatabase* db = [FMDatabase databaseWithPath:path];
    BOOL res = [db open];
    if (res == NO) {
        NSLog(@"打开失败");
        return;
    }else{
        NSLog(@"数据库打开成功");
    }
3,//如果表不存在,创建
    res = [db executeUpdate:@"create table if not exists Students(name,score,image)"];//执行sql语句
    
    if (res == NO) {
        NSLog(@"创建失败");
        [db close];//关闭数据库
        return;
    }else if(res==YES){
        NSLog(@"创建成功");
    }
4,表创建成功之后,就进行增删改查的操作:
     1>,插入数据
    res = [db executeUpdate:@"insert into Students values (?,?,?)", name, num, headData];
    if (res == NO) {
        NSLog(@"插入失败");
    }
    [db close];
    2>,删除操作:
- (void)del:(id)sender{
    FMDatabase* db = [FMDatabase databaseWithPath:path];
    //打开数据库
    BOOL res = [db open];
    //如果失败,退出方法
    if (res == NO) {
        NSLog(@"打开失败");
        return;
    }
    //删除
    res = [db executeUpdate:@"delete from Students where name=?",nameField.text];
    if (res == NO) {
        NSLog(@"删除失败");
    }
    [db close];
}
    3>,更新操作:
- (void)update:(id)sender{
    FMDatabase* db = [FMDatabase databaseWithPath:path];
    BOOL res = [db open];
    if (res == NO) {
        NSLog(@"打开失败");
        return;
    }
    
    NSNumber* num = [NSNumber numberWithInt:[scoreField.text intValue]];
    res = [db executeUpdate:@"update Students set score=? where name=?", num, nameField.text];
    if (res == NO) {
        NSLog(@"修改失败");
    }
    [db close];
}
     4>,查询操作:
	
- (void)fetch:(id)sender{
    FMDatabase* db = [FMDatabase databaseWithPath:path];
    BOOL res = [db open];
    if (res == NO) {
        NSLog(@"打开失败");
        return;
    }
    
    FMResultSet* set = [db executeQuery:@"select * from Students"];//FMResultSet相当于游标集
    //创建数组,保存所有学生信息
    NSMutableArray* array = [NSMutableArray arrayWithCapacity:0];
    //遍历Students表
    while ([set next]) {//有下一个的话,就取出它的数据,然后关闭数据库
        //姓名
        NSString* name = [set stringForColumn:@"name"];
        //成绩
        int score = [set intForColumnIndex:1];
        //照片
        NSData* data = [set dataForColumnIndex:2];
        //float a = [[set objectForColumnIndex:3] floatValue];
        UIImage* image = [UIImage imageWithData:data];
        
        StudentItem* student = [[StudentItem alloc] init];
        student.name = name;
        student.score = score;
        student.image = image;
        [array addObject:student];
        [student release];
    }
    [db close];
   
}   

 

                
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值