qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          iOS數(shù)據(jù)庫操作之FMDB

            SQLite一種輕量級關系數(shù)據(jù)庫,在嵌入式系統(tǒng)中使用比較廣泛。
            在iOS中使用SQLite需要添加庫libsqlite3.0.dylib,并引入頭文件#import <sqlite3.h>
            FMDB對sqlit接口進行了高級封裝,使用上更加友好簡潔。
            https://github.com/ccgus/fmdb
            FMDB包含以下文件:
          FMDatabase.h
          FMDatabase.m
          FMDatabaseAdditions.h
          FMDatabaseAdditions.m
          FMDatabasePool.h
          FMDatabasePool.m
          FMDatabaseQueue.h
          FMDatabaseQueue.m
          FMResultSet.h
          FMResultSet.m
            FMDB使用:
            1.FMDatabase 非線程安全,不要在多線程中使用FMDatabase的單例
          //用指定的數(shù)據(jù)庫名實例化一個數(shù)據(jù)庫,沒有此文件則創(chuàng)建
          FMDatabase *db = [FMDatabase databaseWithPath:filePath];
          "" 在臨時目錄創(chuàng)建一個空的數(shù)據(jù)庫,數(shù)據(jù)庫關閉后會自動刪除
          NULL 在內存中創(chuàng)建一個空的數(shù)據(jù)庫,數(shù)據(jù)庫關閉后會自動刪除
          //打開數(shù)據(jù)庫,資源不足或權限不夠會打開失敗
          if (![db open])
          {
          NSLog(@"數(shù)據(jù)庫打開失敗");
          }
          //用完后需要關閉
          [db close];
            數(shù)據(jù)庫操作:
            查詢操作:SELECT,返回FMResultSet,nil表示查詢失敗;
          [db executeQuery:sql];
          FMResultSet *rs = [db executeQuery:@"SELECT * FROM TableName"];
          {
          while ([rs next])
          {
          //獲取查詢結果,即使結果只有一條
          }
          }


            更新操作:非SELECT操作都是更新操作,返回值類型BOOL,YES:成功,NO:失敗
            [db executeUpdate:sql];
            數(shù)據(jù)庫事務:
            當需要插入的數(shù)據(jù)較多時,使用事務操作會比較快。
          [db beginTransaction];
          //需要執(zhí)行的操作
          [db commit];
          FMResultSet *rs;
          FMResultSet可以不手動關閉,當數(shù)據(jù)庫關閉時,會跟著關閉。
            2.FMDatabaseQueue 線程安全,所有的數(shù)據(jù)庫操作會在隊列中順序執(zhí)行
          [FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:path];
          queue inDatabase:^(FMDatabase *db) {
          //
          }];
          queue inTransaction:^(FMDatabase *db, BOOL *rollback) {
          //
          }

          posted on 2013-11-20 10:45 順其自然EVO 閱讀(434) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉禾县| 泽库县| 沈丘县| 昌邑市| 昆山市| 越西县| 洮南市| 庆安县| 紫云| 河池市| 邵武市| 宣威市| 同仁县| 常州市| 嘉善县| 兴国县| 阜宁县| 湖北省| 光山县| 田林县| 福清市| 营口市| 饶阳县| 乐东| 板桥市| 普格县| 霍州市| 昂仁县| 汉寿县| 兴和县| 迁安市| 永顺县| 根河市| 鄄城县| 呼图壁县| 濮阳县| 曲水县| 东明县| 竹溪县| 鄄城县| 桑日县|