iOS中FMDB数据库之增删改查使用实例

  

FMDB是一个轻量级的数据库,用于将网络资源存储在本地.FMDB将SQLite API进行了很友好的封装,使用上非常方便,对于那些使用纯SQLite API来进行数据库操作的应用,可以考虑将其迁移到基于FMDB上,这对于以后数据库相关功能的开发维护,可以提高不少效率。

  

<强>什么是FMDB
  

  
      <李> FMDB是iOS平台的SQLite数据库框架李   <李> FMDB以OC的方式封装了SQLite的C语言API李   
  

<强> FMDB的优点
  

  
      <李>使用起来更加面向对象,省去了很多麻烦,冗余的C语言代码李   <李>对比苹果自带的核心数据框架,更加轻量级和灵活李   <李>提供了多线程安全的数据库操作方法,有效地防止数据混乱李   
  

<强> FMDB有三个主要的核心类:

  

1, FMDatabase
  

  

一个FMDatabase对象就代表一个单独的SQLite数据库
  

  

用来执行SQL语句
  

  

2, FMResultSet
  

  

使用FMDatabase执行查询后的结果集
  

  

3, FMDatabaseQueue
  

  

用于在多线程中执行多个查询或更新,它是线程安全的
  

  

<强>路径文件路径有三种情况:

  

1,具体文件路径
  

  

如果不存在会自动创建
  

  

2,空字符串@”“
  

  

会在临时目录创建一个空的数据库
  

  

当FMDatabase连接关闭时,数据库文件也被删除
  

  

3, nil
  

  

会创建一个内存中临时数据库,当FMDatabase连接关闭时,数据库会被销毁
  

  

<强>一。将FMDB第三方库引入到项目

  

将FMDB下来下来,然后复制到你的工程中。
  

  

注意:需要libsqlite3。dylib依赖(具体流程项目→目标→构建阶段→链接的二进制库,然后点击+号引用该动态库)

  

 iOS中FMDB数据库之增删改查使用实例

  

<强>二。数据库的操作:增删改查

  

通常对数据库的操作,我们一般称为豆腐,即对表进行创建(创建),更新(更新),读取(读)和删除(删除)操作。
  

  

基于FMDB的添删改查操作,其中添加删除更改的操作都非常简单,不需要做太多操作,只需要用到FMDB封装好的executeUpdate方法就行了。

  

对数据库中存储的每一个值都有一个类型
  

  

1。空这个值为空值
  

  

2。整型值被标识为整数,依据值的大小可以依次被存储1 ~ 8个字节
  

  

3。真正的所有值都是浮动的数值
  

  

4。文本值为文本字符串
  

  

5。BLOB值为BLOB数据
  

  

这里写一个演示,测试一下!

  

 iOS中FMDB数据库之增删改查使用实例

        #进口“FMDatabase.h”   #进口“FMDatabaseQueue.h”      

获取数据库文件的路径:

        NSString *医生=[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask,是的),objectAtIndex: 0];   NSString *路径=(doc stringByAppendingPathComponent: @“user.sqlite”);   自我。dbPath=路径;   NSLog (@“dbPath - - - % @”,路径),      

建表:      //建表   - (void)不知道{   NSLog (@“% s”, __func__);      NSFileManager *文件管理=[NSFileManager defaultManager];   如果([文件管理fileExistsAtPath:自我。dbPath]==NO) {//创建它   FMDatabase * db=[FMDatabase databaseWithPath self.dbPath):;   如果([db开放]){   NSString * sql=@“创建表“用户”(id的整数主键自动增量NOT NULL, VARCHAR(30)“名称”,“密码”VARCHAR (30))”;   BOOL res=[db executeUpdate: sql];   如果(res) {   NSLog(@“错误在创建数据库表”);   其他}{   NSLog(@“成功创建数据库表”);   }   (db关闭);   其他}{   NSLog(@“错误当开放数据库”);   }   }   }   之前      

插入数据:

     //插入数据   方法- (void) {   NSLog (@“% s”, __func__);      静态int idx=1;   FMDatabase * db=[FMDatabase databaseWithPath self.dbPath):;   如果([db开放]){      NSString * sql=@”插入用户(名称、密码)值(& # 63;& # 63;)”;   NSString *名称=[NSString stringWithFormat: @ % d兹罗提,idx + +);      BOOL res=[db executeUpdate: sql,名字,@“女孩”);   如果(res) {   NSLog(@“插入数据错误”);   其他}{   NSLog(@“成功插入数据”);      ZLTestModel *模型=[ZLTestModel modelWith:名字id: idx);   (自我。userArr addObject:模型);   (自我。tableView reloadData];   }   (db关闭);   }   }      

iOS中FMDB数据库之增删改查使用实例