FMDB使用介绍

来源:互联网 发布:无线传感器网络试卷 编辑:程序博客网 时间:2024/06/08 17:15

  

   FMDB相对于苹果自带的Coredata更轻量级,使用起来方便一些,只需要写少量的sqlite语句就可以了,,如果你不会SQLite语句,那就百度。

   1.首先初始化,创建一个数据库

     

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

    NSString *path = [docstringByAppendingPathComponent:@"myStudents.sqlite"];

    NSLog(@"%@",path);

    _db = [FMDatabasedatabaseWithPath:path];

    if ([_db open]) {

        

        BOOL result = [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_students (id INTEGER PRIMARY KEY AUTOINCREMENT,name text NOT NULL, age interger NOT NULL);"];

        if (result) {

            NSLog(@"创表成功");

        }else{

            NSLog(@"创表失败");

        }

    }


     2.往创建的数据库中添加数据
      

     for (int j =0; j < 10; j ++) {

        NSString *name = [NSStringstringWithFormat:@"jack-%d", j];

         [_db executeUpdate:@"INSERT INTO t_students (name ,age) VALUES                          (?,?);",name,@(arc4random_uniform(40))];

      }


   3.查询数据

      

            FMResultSet *resultSet = [_db executeQuery:@"SELECT * FROM t_students"];

            while ([resultSet next]) {

                int ID = [resultSet intForColumn:@"id"];

                NSString *name = [resultSet stringForColumn:@"name"];

                int age = [resultSet intForColumn:@"age"];

                if (age > 10) {

                    NSLog(@"ID->%d name->%@ age->%d",ID ,name, age);

                }else{

                    NSLog(@"ID:%d name:%@ age:%d",ID ,name, age);

                }

                

            }

   4.删除数据库
    

            [_db executeUpdate:@"DELETE FROM t_student;"];

//           [_db executeUpdate:@"DROP TABLE IF EXISTS t_students;"];

    5.打印结果
     

      谢谢阅读!!!!!有用就顶一下。。。。。

0 0