2017-02-26 208 views
0

我想使用我的本地數據庫。 爲此,我使用FMDBFMDB不顯示任何東西 - swift

1.I添加pod 'FMDB'pod file然後pod install

2.我拖着我的數據庫,我的項目(kashanmapDB_upgrade_3-4.db)。

enter image description here

3.I創建了一個名爲類DatabaseManager.swift

我的類:

import Foundation 
import FMDB 
class DatabaseManager { 

    private let dbFileName = "kashanmapDB_upgrade_3-4.db" 
    private var database:FMDatabase! 

    init() { 
     openDatabase() 
    } 

    func openDatabase() { 

     let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String 
     let dbPath = URL(fileURLWithPath: paths).appendingPathComponent(dbFileName) 
     let str_path = Bundle.main.resourceURL!.appendingPathComponent(dbFileName).path 
     let database = FMDatabase(path: str_path) 

     /* Open database read-only. */ 
     if (!(database?.open(withFlags: 1))!) { 
      print("Could not open database at \(dbPath).") 
     } else { 
      print("opened database") 
      self.database = database; 
     } 
    } 

    func closeDatabase() { 
     if (database != nil) { 
      database.close() 
     } 
    } 

    func query(queryString:String) { 
     if let db = database, let q = db.executeQuery(queryString, withArgumentsIn: nil) { 
      while q.next() { 
       let data = q.string(forColumn: "id") 
       // Do whatever here with fetched data, usually add it to an array and return that array 
       print("data a a \(data)") 
      } 
     } 
    } 


} 
  • 以我控制器I創建的變量到我並且調用我的功能:

    let db = DatabaseManager() 
    
    // MARK: - View Lifecycle 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    createPageViewController() 
    setupPageControl() 
    
        db.openDatabase() 
        db.query(queryString: "select * from Tags") 
    
    } 
    
  • 但我的控制檯沒有顯示任何東西。我的問題在哪裏?

    +0

    數據庫是否成功打開? –

    +0

    沒有打印任何類似'無法打開數據庫在'或'打開的數據庫' –

    +0

    首先將您的數據庫複製到文檔目錄,然後打開 – Rivendell

    回答

    0

    請嘗試以下步驟:

    1. 首先,你必須卸載舊的應用程序。

    2. 從Xcode以及finder - > Project目錄中刪除舊的「kashanmapDB_upgrade_3-4.db」文件。

    3. 複製/再添 「kashanmapDB_upgrade_3-4.db」 通過確保複製所選項目文件檢查

           OR 
      
    4. 在Xcode->進入應用程序項目 - >鏈接的框架和lib - >點擊「+」按鈕 「kashanmapDB_upgrade_3-4.db」 文件添加到您的項目

    5. 在Xcode項目 - 產品 - >清潔工程和 然後 - >生成 - >運行。

    就是這樣做... !!!