Coredata数据库的增删改查

本文介绍了一种使用CoreDb进行音乐信息的增删改查操作的方法。包括如何创建音乐对象并将其保存到数据库中,如何从数据库中读取用户信息,并展示了如何更新和删除数据。



#import "CoreDb.h"

#import "Music.h"

@interface Music__ViewController ()

{

  NSMutableArray *infos;  

}

 CoreDb * db = [CoreDbcoreDbInstance];

  //    //添加信息

   Music * new3 = [NSEntityDescriptioninsertNewObjectForEntityForName:@"Music"inManagedObjectContext:db.managedObjectContext];

    [new3 setValue:@"鸟叫水声"forKey:@"musicname"];

    [new3 setValue:@"自然"forKey:@"musickinds"];

    [new3 setValue:@"鸟叫水声.jpg"forKey:@"musicpic"];

[db.managedObjectContextsave:nil];//同步数据库



    

//查看数据库

     db = [CoreDbcoreDbInstance];

    NSFetchRequest * request = [NSFetchRequestfetchRequestWithEntityName:@"Userinfo"];

    NSArray * arr = [db.managedObjectContextexecuteFetchRequest:requesterror:nil];

    infos = [NSMutableArrayarrayWithArray:arr];

    Userinfo * info =infos[0];

    NSLog(@"密码为------%@", info.userpassword);

    NSLog(@"用户名为—————%@", info.username);

    NSLog(@"头像为—————%@", info.usericon);

    NSLog(@"数据库内数据条数为——————————%lu",infos.count);




 //删除数据库

    db = [CoreDbcoreDbInstance];

    

    infos = [NSMutableArrayarray];

    

    NSFetchRequest * request = [NSFetchRequestfetchRequestWithEntityName:@"Userinfo"];

    NSArray * arr = [db.managedObjectContextexecuteFetchRequest:requesterror:nil];

    infos = [NSMutableArrayarrayWithArray:arr];

    NSLog(@"数据库里%@",infos);

    

    Userinfo *p=infos[0];

    

    [db.managedObjectContextdeleteObject:p];//删除数据库

    [infosremoveObject:p];//删除数组

    [db.managedObjectContextsave:nil];//同步数据库



//更新数据库

    CoreDb * db = [CoreDb coreDbInstance];

    // 1.实例化查询请求类

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Userinfo"];

    // 2.设置查询条件

    NSString *contion=[NSString stringWithFormat:@"username=%@",_username];

    NSLog(@"%@",contion);

    fetchRequest.predicate = [NSPredicate predicateWithFormat:contion];

    // 3.context根据更新条件的请求去具体进行更新操作

    NSArray *resultArray = [db.managedObjectContext executeFetchRequest:fetchRequest error:nil];

    // 4.遍历搜索出来的结果

    for (Userinfo *per in resultArray) {

        per.usericon = Man;

        }

    BOOL result = [db.managedObjectContext save:nil];

    // 6.判断结果

    if (result) {

        NSLog(@"更新数据成功");

    }else {

        NSLog(@"更新数据失败");

    }



@end



#import "CoreDb.h"

#import "Music.h"

@interface Music__ViewController ()

{

  NSMutableArray *infos;  

}

 CoreDb * db = [CoreDbcoreDbInstance];

  //    //添加信息

   Music * new3 = [NSEntityDescriptioninsertNewObjectForEntityForName:@"Music"inManagedObjectContext:db.managedObjectContext];

    [new3 setValue:@"鸟叫水声"forKey:@"musicname"];

    [new3 setValue:@"自然"forKey:@"musickinds"];

    [new3 setValue:@"鸟叫水声.jpg"forKey:@"musicpic"];

[db.managedObjectContextsave:nil];//同步数据库



    

//查看数据库

     db = [CoreDbcoreDbInstance];

    NSFetchRequest * request = [NSFetchRequestfetchRequestWithEntityName:@"Userinfo"];

    NSArray * arr = [db.managedObjectContextexecuteFetchRequest:requesterror:nil];

    infos = [NSMutableArrayarrayWithArray:arr];

    Userinfo * info =infos[0];

    NSLog(@"密码为------%@", info.userpassword);

    NSLog(@"用户名为—————%@", info.username);

    NSLog(@"头像为—————%@", info.usericon);

    NSLog(@"数据库内数据条数为——————————%lu",infos.count);




 //删除数据库

    db = [CoreDbcoreDbInstance];

    

    infos = [NSMutableArrayarray];

    

    NSFetchRequest * request = [NSFetchRequestfetchRequestWithEntityName:@"Userinfo"];

    NSArray * arr = [db.managedObjectContextexecuteFetchRequest:requesterror:nil];

    infos = [NSMutableArrayarrayWithArray:arr];

    NSLog(@"数据库里%@",infos);

    

    Userinfo *p=infos[0];

    

    [db.managedObjectContextdeleteObject:p];//删除数据库

    [infosremoveObject:p];//删除数组

    [db.managedObjectContextsave:nil];//同步数据库



//更新数据库

    CoreDb * db = [CoreDb coreDbInstance];

    // 1.实例化查询请求类

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Userinfo"];

    // 2.设置查询条件

    NSString *contion=[NSString stringWithFormat:@"username=%@",_username];

    NSLog(@"%@",contion);

    fetchRequest.predicate = [NSPredicate predicateWithFormat:contion];

    // 3.context根据更新条件的请求去具体进行更新操作

    NSArray *resultArray = [db.managedObjectContext executeFetchRequest:fetchRequest error:nil];

    // 4.遍历搜索出来的结果

    for (Userinfo *per in resultArray) {

        per.usericon = Man;

        }

    BOOL result = [db.managedObjectContext save:nil];

    // 6.判断结果

    if (result) {

        NSLog(@"更新数据成功");

    }else {

        NSLog(@"更新数据失败");

    }



@end


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值