FMDB 数据库的基本写法

终于有空总结一下 FMDB的简单用法和sql 语句了  话不多说 下面列出.m文件的写法 相比小伙伴们能够明白了应该(顺便做个备忘 哈哈哈)

m文件

#import "FMDBManager.h"

#import "Student.h"

@implementation FMDBManager


+(instancetype)shareInstance{

    //下面的代码写法是固定的

    

    //1.用本类先生成一个对象

    

  static FMDBManager *manager;

    

    //2.在静态block里实例化对象

    

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{


        manager = [[FMDBManager alloc]init];


    });

    

    return manager;

    

    

}

-(instancetype)init{

    

    if (self = [super init]) {

        

     //来实例化该类的一些属性和全局变量


        _dataBase = [[FMDatabase alloc]initWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/xiaoming.db"]];

    }

    

    return self;

}

-(void)open{

    

    [_dataBase open];

    //只要数据库打开了,就把表建好

   

    NSString *createTableSql = @"create table if not exists student(id integer primary key autoincrement,name varchar (256),age varchar (256))";

    

    if ([_dataBase executeUpdate:createTableSql]) {

        

        NSLog(@"表创建成功");

    }

 

}

-(void)close{

    

    if([_dataBase close]){

        

        NSLog(@"程序退出,数据库关闭");

    }


}

-(void)insertDataWithName:(NSString *)name PassWord:(NSString *)passWord{

    

    NSString *insertSql = @"insert into student (name,age)values(?,?)";

    

    if ([_dataBase executeUpdate:insertSql,name,passWord]) {

        

        NSLog(@"数据保存成功");

    

    }

    

    

}

-(NSMutableArray *)select{

    

    NSString *selectSql = @"select *from student";

    

    FMResultSet *set = [_dataBase executeQuery:selectSql];


    NSMutableArray *array = [[NSMutableArray alloc]init];

    while ([set next]) {

        

        Student *model = [[Student alloc]init];

        

        model.name = [set stringForColumn:@"name"];

        

        model.age = [set stringForColumn:@"age"];

        

        [array addObject:model];

    }

    

    return array;

}

-(void)deleteWithName:(NSString *)name{

    

    NSString *deleteSql = @"delete from student where name = ?";

    

    if ([_dataBase executeUpdate:deleteSql,name]) {

        

        NSLog(@"删除成功");

    }

}

-(void)updateDataWithName:(NSString *)name Age:(NSString *)age LastName:(NSString *)lastName{

    

    NSString *updateSql = @"update student set name = ? , age = ? where name = ?";

    

    if ([_dataBase executeUpdate:updateSql,name,age,lastName]) {

        

        NSLog(@"数据修改成功");

    }

}

@end


先创建一个单例  在以后的使用过程中 直接调用这个单例就可以了


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值