美文网首页
iOS sqlite小数据库操作demo

iOS sqlite小数据库操作demo

作者: 叶熙雯 | 来源:发表于2018-05-15 15:55 被阅读0次
你的小可爱已上线

突然找到自己去年写的demo写个文章纪念一下,直接上代码 不想说那么多 ,干脆.
使用的是DBHelper 的代码,然后我自己封装了一下

如何使用部分

1.建表

//建表
 SqlModel * sql = [[SqlModel alloc] initAndSqliteName:@"EMBABD"];
    if (![isFirst isEqualToString:@"1"]) {
        [defaults setObject:@"1" forKey:@"isFirst"];
        if ([sql createTable:@"queryUserAllPerm" andType:@"arr  BLOB"]) {
            NSLog(@"创建表成功");
        }else{
            NSLog(@"创建表失败");
        }
    }

2.添加

//添加方法
SqlModel * sql = [[SqlModel alloc] initAndSqliteName:@"EMBABD"];
        if ([sql addObjectInTable:dic[@"content"] andTableName:@"queryUserAllPerm"]) {
            NSLog(@"添加数据成功");
        }else{
            NSLog(@"添加数据失败");
        }

3.查询

//查询方法
NSArray * arr = [sql findObjectInTable:@"queryUserAllPerm" andType:@"arr"];

4.删除

//删除方法
if ([sql delectTable:@"queryUserAllPerm" andWhere:nil]) {
    NSLog(@"删除表成功");
}else{
    NSLog(@"删除表失败");
}

.h页面代码

//数据库操作
@interface SqlModel : NSObject
@property (readonly, nonatomic, retain)DBHelper * helper;

//init方法创建数据库 name:数据库的名字 只需要建一次
- (instancetype)initAndSqliteName:(NSString *)name;

//创建表返回是否成功。 tableName:建立的表名  type:对应数据类型,不填写为查询全部(需要用sql语句输入)
- (BOOL)createTable:(NSString *)tableName andType:(NSString *)type;

//查找表里的对象 tableName:查找的表名  type:查找的条件(需要用sql语句输入)
- (NSArray *)findObjectInTable:(NSString *)tableName andType:(NSString *)type;

//添加表内对象 objet:添加的内容id类型的   tableName:添加的表名
- (BOOL)addObjectInTable:(id)object andTableName:(NSString *)tableName;

//删除表 tableName:删除表的内容  where:删除条件 如果不写为默认全删除(需要用sql语句输入)
- (BOOL)delectTable:(NSString *)tableName andWhere:(NSString *)where;//删除
@end

.m页面代码

@implementation SqlModel

- (instancetype)initAndSqliteName:(NSString *)name{
    if(self = [super init]){
        NSString *pathDocuments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
        NSString *createPath = [NSString stringWithFormat:@"%@/%@.sqlite",pathDocuments,name];
        NSLog(@"%@",createPath);
        _helper = [[DBHelper alloc] initDatabaseWithDBPath:createPath];
    }
    return self;
}

- (BOOL)createTable:(NSString *)tableName andType:(NSString *)type{
    NSString * sql = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS %@ (%@);",tableName,type];
    return [self.helper createTable:sql];
}

- (NSArray *)findObjectInTable:(NSString *)tableName andType:(NSString *)type{
    NSString * sql = [NSString stringWithFormat:@"select * from %@",tableName];//sqlite语句
    NSArray * arr = [self.helper findAllForSql:sql andValues:nil withResultSetBlock:^id(FMResultSet *rs){
        NSData * messageId = [rs dataForColumn:type];
        NSArray *imageArr = [NSKeyedUnarchiver unarchiveObjectWithData:messageId];
        return imageArr;
    }];
    return arr;
}

- (BOOL)addObjectInTable:(id)object andTableName:(NSString *)tableName{
    NSString * sql = [NSString stringWithFormat:@"insert into %@ values (?)",tableName];
    NSData *data = [NSKeyedArchiver archivedDataWithRootObject:object];
    NSArray * args = [NSArray arrayWithObjects:data,nil];
    return [self.helper executeUpdateForSql:sql andValues:args];
}

- (BOOL)delectTable:(NSString *)tableName andWhere:(NSString *)where{
   where = where?[NSString stringWithFormat:@"where %@",where]:@"";
    NSString * sql = [NSString stringWithFormat:@"delete from %@ %@",tableName,where];
    return [self.helper executeUpdateForSql:sql andValues:nil];
}

@end

需要的人可以直接copy走吧!记得帮我点点❤ 爱你哟!

相关文章

  • iOS sqlite小数据库操作demo

    突然找到自己去年写的demo写个文章纪念一下,直接上代码 不想说那么多 ,干脆.使用的是DBHelper 的代码,...

  • iOS数据持久化--FMDB简单使用

    基础认识:FMDB是一个轻量级的针对iOS数据库操作的SDK,在iOS中操作的是SQLite数据库使用目的:需要进...

  • iOS数据库FMDB

    iOS数据库FMDB 简介 iOS中使用C语言函数对原生SQLite数据库进行增删改查操作,复杂麻烦,于是,就出现...

  • 数据库操作之FMDB

    iOS中使用的是sqlite3数据库,操作数据库的时候首先需要会数据库操作语句—sql语句,在代码中操作数据库时,...

  • ios 数据库

    简介在IOS中使用Sqlite来处理数据。如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作。 ...

  • Sqlite 使用笔记

    1. 数据库基本操作封装 sqlite 数据操作 语句类型 sqlite 数据库的简单实用- 导入sqlite3数...

  • iOS对象存储框架,含单元测试Demo

    iOS database framework based on sqlite3(基于sqlite3的iOS数据库存...

  • SQLite使用总结

    SQLite数据库操作是移动开发中非常基础也非常重要的一部分,本文将从SQLite的概念到SQLite在iOS中的...

  • SQLite实践总结-2017-04-05

    一、认识SQLite SQLite,是一款小型的关系型数据库,在Android、iOS等嵌入式操作系统中使用,内存...

  • SQL语句相关

    iOS系统集成了一个轻量级数据库:SQLite,SQLite支持绝大部分SQL语法,也可以使用SQL语句操作数据库...

网友评论

      本文标题:iOS sqlite小数据库操作demo

      本文链接:https://www.haomeiwen.com/subject/mbfydftx.html