Swift 中使用 SQLite——打開數據庫

關於Swift中使用SQLite,接下來可能會分別從打開、增、刪、改、查,幾個方面來介紹SQLite的具體使用,這一篇重點介紹一下如何打開。sql

  • 定義全局數據庫訪問句柄
/// 全局數據庫訪問句柄
private var db: COpaquePointer = nil

  • 實現打開數據庫函數
/// 打開數據庫
///
/// - parameter dbName: 數據庫文件名
func openDB(dbName: String) {

    var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
    path = (path as NSString).stringByAppendingPathComponent(dbName)
    print(path)

    if sqlite3_open(path, &db) != SQLITE_OK {
        print("打開數據庫失敗")
        return
    }

    print("打開數據庫成功")
}

  • 在 AppDelegate.swift 中添加如下代碼打開數據庫
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    DBManager.sharedManager.openDb("my.db")

    return true
}

小結

  • 創建數據庫須要給定完整的數據庫路徑
  • sqlite3_open 函數會打開數據庫,若是數據庫不存在,會新建一個空的數據庫,而且返回數據庫指針(句柄)
  • 後續的全部數據庫操做,都基於此 數據庫句柄 進行
  • SQLite 數據庫是直接保存在沙盒中的一個文件,只有當前應用程序能夠使用
  • 在移動端開發時,數據庫一般是以 持久式 鏈接方式使用的
  • 所謂 持久式鏈接 指的是隻作一次 打開數據庫 的操做,永遠不作 關閉 數據庫的操做,從而能夠提升數據庫的訪問效率