2017-02-26 131 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项目 - 产品 - >清洁工程和 然后 - >生成 - >运行。

    就是这样做... !!!