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简单使用到此结束。 欢迎大神批评指导

你可能感兴趣的:(FMDB使用)