FMDB使用

看了很多别人的文章, 发现都是不知道谁复制谁, 作者自己根本不知道自己在说什么, 全是复制的。 也不知道这些人怎么想的 。废话不多说直接上代码

首先我是pod 导入的FMDB pod'FMDB',当然也可以自己下载自己手拖到项目里。省点麻烦自己pod进项目。

第一步导入头文件

import "FMDatabase.h"

第一次会报错说未找到这个文件, 没事不用理他

我们需要创建
@property(nonatomic,strong) FMDatabase *db;

我的是直接在controller里创建的方便介绍用法。

 NSString *doc=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

    NSString *fileName=[doc stringByAppendingPathComponent:@"student.sqlite"];
     //2.获得数据库

    FMDatabase *db=[FMDatabase databaseWithPath:fileName];


    if ([db open]) {

        BOOL result=[db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL);"];


        if (result) {

            NSLog(@"创表成功");

        }else

        {

            NSLog(@"创表失败");

        }

    }

    self.db=db;

这样就创建成功了。
////////////直接添加点击

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{



    [self insert];

    [self query];
    [self delete];

}

//插入数据

 -(void)insert
 {
         for (int i = 0; i<10; i++) {
                 NSString *name = [NSString stringWithFormat:@"jack-%d", arc4random_uniform(100)];
                 // executeUpdate : 不确定的参数用?来占位
                 [self.db executeUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);", name, @(arc4random_uniform(40))];
                //        [self.db executeUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);" withArgumentsInArray:@[name, @(arc4random_uniform(40))]];

                 // executeUpdateWithFormat : 不确定的参数用%@、%d等来占位
                //        [self.db executeUpdateWithFormat:@"INSERT INTO t_student (name, age) VALUES (%@, %d);", name, arc4random_uniform(40)];


         }
 }

//删除数据

-(void)delete

{
         //    [self.db executeUpdate:@"DELETE FROM t_student;"];
        [self.db executeUpdate:@"DROP TABLE IF EXISTS t_student;"];
         [self.db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL);"];

}

//查询

- (void)query
 {
         // 1.执行查询语句
        FMResultSet *resultSet = [self.db executeQuery:@"SELECT * FROM t_student"];

        // 2.遍历结果
     while ([resultSet next]) {
               int ID = [resultSet intForColumn:@"id"];
               NSString *name = [resultSet stringForColumn:@"name"];
                int age = [resultSet intForColumn:@"age"];
                NSLog(@"%d %@ %d", ID, name, age);

     }
 }

这样FMDB简单使用到此结束。 欢迎大神批评指导

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为R语言新手,在使用R语言的过程中遇到了很多的问题。本文总结了几个常见问题的解决方法,希望对需要的人能有所帮助。...
    浪尖儿阅读 10,332评论 0 6
  • 企业号带给企业管理软件领域的颠覆革命 一、微信成为各类管理软件的登录入口 之前盛传腾讯进军企业管理软件,第三方管理...
    和客CRM阅读 5,798评论 0 0
  • 破碎故事之心(中英对照) 贾斯汀•霍根施拉格,周薪30美元的印刷小工,每天有差不多60来个陌生女人从他眼前经过。由...
    嘘安静听我说阅读 3,321评论 0 12

友情链接更多精彩内容