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

来源:互联网 发布:淘宝怎样买百度云资源 编辑:程序博客网 时间:2024/05/16 11:52
 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];   }   
	
				
		
原创粉丝点击