国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

IOS開發:F-MDB數據存儲解析

2019-11-02 14:24:07
字體:
來源:轉載
供稿:網友

   FMDB是面向對象的,它以OC的方式封裝了SQLite的C語言API,使用起來更加的方便,不需要過多的關心數據庫操作的知識。但是它本身也存在一些問題,比如跨平臺,因為它是用oc的語言封裝的,所以只能在ios開發的時候使用,如果想實現跨平臺的操作,來降低開發的成本和維護的成本,就需要使用比較原始的SQLite。

  FMDB是用于進行數據存儲的第三方的框架,它與SQLite與Core Data相比較,存在很多優勢。

  Core Data是ORM的一種體現,使用Core Data需要用到模型數據的轉化,雖然操作簡單,不需要直接操作數據庫,但是性能沒有直接使用SQLite高。但是SQLite使用的時候需要使用c語言中的函數,操作比較麻煩,因此需要對它進行封裝。但是如果只是簡單地封裝,很可能會忽略很多重要的細節,比如如何處理并發以及安全性更問題。

  因此,在這里推薦使用第三方框架FMDB,它是對libsqlite3框架的封裝,用起來的步驟與SQLite使用類似,并且它對于多線程的同時操作一個表格時進行了處理,也就意味著它是線程安全的。FMDB是輕量級的框架,使用靈活,它是很多企業開發的首選。

  FMDB中重要的類

  FMDatabase:一個FMDatabase對象就代表一個單獨的SQLite數據庫,用來執行SQL語句

  FMResultSet:使用FMDatabase執行查詢后的結果集

  FMDatabaseQueue:用于在多線程中執行多個查詢或更新,它是線程安全的

IOS開發:FMDB數據存儲解析 電腦高手

  FMDB使用步驟

  1. 下載FMDB文件 fmdb下載地址 ,將FMDB文件夾添加到項目中

  2. 導入sqlite框架,導入FMDatabase.h文件

  3.與SQLite使用步驟類似,需要獲取數據庫文件路徑,然后獲得數據庫,并打開數據庫,然后數據庫進行操作,最后關閉數據庫。代碼如下所示:

  // ViewController.m

  // JRFMDB

  //

  // Created by jerehedu on 15/6/18.

  // Copyright (c) 2015年 jerehedu. All rights reserved.

  //

  #import "ViewController.h"

  #import "FMDatabase.h"

  @interface ViewController ()

  @property (nonatomic, strong) FMDatabase *db;

  @end

  @implementation ViewController

  - (void)viewDidLoad

  {

  [super viewDidLoad];

  //導入sqlite框架,導入FMDB文件夾

  //1.獲得數據庫文件的路徑

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

  NSString *fileName=[doc stringByAppendingPathComponent:@"student.sqlite"];

  NSLog(@"fileName = %@",fileName);

  //2.獲得數據庫

  FMDatabase *db = [FMDatabase databaseWithPath:fileName];

  //3.打開數據庫

  if ([db open]) {

  NSLog(@"ok");

  //4.創表

  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;

  //插入數據

  [self insertStu];

  [self deleteStu:6];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信宜市| 宣恩县| 务川| 津市市| 盐源县| 徐水县| 镇原县| 云南省| 那坡县| 济阳县| 嘉兴市| 沙湾县| 兴宁市| 望江县| 大冶市| 襄垣县| 林周县| 和政县| 天峻县| 开鲁县| 抚州市| 沈阳市| 藁城市| 仙居县| 甘肃省| 调兵山市| 达日县| 韶关市| 民丰县| 孟津县| 新野县| 昆明市| 门源| 鄂伦春自治旗| 虹口区| 招远市| 南平市| 凌源市| 林州市| 曲松县| 余干县|