0
我想使用我的本地數據庫。 爲此,我使用FMDB。FMDB不顯示任何東西 - swift
1.I添加pod 'FMDB'
到pod file
然後pod install
2.我拖着我的數據庫,我的項目(kashanmapDB_upgrade_3-4.db
)。
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") }
但我的控制檯沒有顯示任何東西。我的問題在哪裏?
數據庫是否成功打開? –
沒有打印任何類似'無法打開數據庫在'或'打開的數據庫' –
首先將您的數據庫複製到文檔目錄,然後打開 – Rivendell