ios FMDB第三方库操作SQLite数据库

1 篇文章 0 订阅
1 篇文章 0 订阅

FMDB框架自己下载

1.   .h文件暴露数据库先关操作方法

+(FMdbModel*)sharedFMdbModel;
/**数据插入*/
- (void)insertSelectModel:(TakeModel*)model andType:(NSString*)type;
/**数据查找*/
- (BOOL)isExistSelectModel:(NSString*)categoryid andType:(NSString*)type;
/**数据删除*/
- (void)deleteDataName:(NSString*)categoryid;
/**数据显示*/
- (NSArray*)showAllSelectModel;
/** 清空数据 */
- (void)clearAllData;

2.   .m文件中相关方法的实现

包含头文件#import "FMDatabase.h"

@implementation FMdbModel
{
    FMDatabase * fmdb;
}

+ (FMdbModel*)sharedFMdbModel{
   // 单例创建数据库
    static FMdbModel * fmdbModel = nil;
    if (fmdbModel == nil) {
        fmdbModel = [[FMdbModel alloc] init];
    }
    return fmdbModel;
}
-(id)init{
    
    self = [super init];
    if (self) {
        
        NSString * path = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/VcReadInfo.db"];
        fmdb = [[FMDatabase alloc] initWithPath:path];
        BOOL isOpen = [fmdb open];
        if (isOpen) {
            NSLog(@"数据库打开成功");
            // 创建表格
            NSString * sql = @"create table if not exists VCTable(vcID varchar(256),iconUrl varchar(256),desc varchar(256),name varchar(256),adUrl varchar(256),isleaf varchar(256),VCType varchar(256))";
            BOOL isSuccess = [fmdb executeUpdate:sql];
            if (isSuccess) {
                NSLog(@"表格创建成功");
            }else{
                NSLog(@"表格创建失败");
            }
        }else{
        
            NSLog(@"数据库打开失败:%@",fmdb.lastErrorMessage);
        }
    }
    [fmdb close];
    return self;
}
// 插入数据
- (void)insertSelectModel:(TakeModel *)model andType:(NSString*)type{

    if (![fmdb open]) {
        NSLog(@"插入数据时打开数据库失败");
    }
    NSString * sql = @"insert into VCTable (vcID,iconUrl,desc,name,adUrl,isleaf,VCType) values (?,?,?,?,?,?,?)";
    NSString * name = model.name;
    NSString * vcID = [NSString stringWithFormat:@"%@",model.categoryID];
    NSString * iconUrl = model.iconURL;
    NSString * desc = model.desc;
    NSString * adUrl = model.adImageURL;
    NSString * isleaf = model.leaf;
    BOOL isSuccess = [fmdb executeUpdate:sql,vcID,iconUrl,desc,name,adUrl,isleaf,type];
    if (isSuccess) {
        NSLog(@"数据插入成功");
    }else{
        NSLog(@"数据插入失败%@",fmdb.lastErrorMessage);
    }
    [fmdb close];
}
// 数据是否存在
- (BOOL)isExistSelectModel:(NSString *)categoryid andType:(NSString*)type{
    if (![fmdb open]) {
        NSLog(@"判断数据是否存在时打开数据库失败");
    }
    NSString * sql = @"select * from VCTable where vcID = ? and VCType = ?";
    FMResultSet * result = [fmdb executeQuery:sql,categoryid,type];
    if ([result next]) {
        [fmdb close];
        return YES;
    }else{
        [fmdb close];
        return NO;
    }
}
 //数据删除
- (void)deleteDataName:(NSString *)categoryid{
    if (![fmdb open]) {
        NSLog(@"删除数据时打开数据库失败");
    }
    NSString * sql = @"delete from VCTable where vcID = ?";
    BOOL isSuccess = [fmdb executeUpdate:sql,categoryid];
    if (isSuccess) {
        NSLog(@"数据删除成功");
    }else{
        NSLog(@"数据删除失败%@",fmdb.lastErrorMessage);
    }
    [fmdb close];
}
// 数据显示
- (NSArray*)showAllSelectModel{
    if (![fmdb open]) {
        NSLog(@"显示数据时打开数据库失败");
    }
    NSString * sql = @"select * from VCTable";
    FMResultSet * result = [fmdb executeQuery:sql];
    NSMutableArray * arr = [[NSMutableArray alloc] init];
    while ([result next]) {
        TakeModel * model = [[TakeModel alloc] init];
        model.name = [result stringForColumn:@"name"];
        model.categoryID = [NSNumber numberWithInt:[[result stringForColumn:@"vcID"] intValue]];
        model.desc = [result stringForColumn:@"desc"];
        model.iconURL = [result stringForColumn:@"iconUrl"];
        model.selectType = [result stringForColumn:@"VCType"];
        model.adImageURL = [result stringForColumn:@"adUrl"];
        model.leaf = [result stringForColumn:@"isleaf"];
        [arr addObject:model];
    }
    [fmdb close];
    return arr;
}
// 清空数据
- (void)clearAllData{
    if (![fmdb open]) {
        NSLog(@"清空数据时打开数据库失败");
    }

    NSString * sql = @"delete from VCTable";
    BOOL isSuccess = [fmdb executeUpdate:sql];
    if (isSuccess) {
        NSLog(@"数据清空成功");
    }else{
        NSLog(@"数据清空失败%@",fmdb.lastErrorMessage);
    }
    [fmdb close];
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值