我的应用程序包中有一个 .sqlite 文件。我似乎打开了文件,但我无法访问文件中的表。
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("test.sqlite")
//opening the database
if sqlite3_open(fileURL.path, &db) == SQLITE_OK {
print("opening database")
}
let queryString = "SELECT * FROM Table1"
var stmt:OpaquePointer?
//preparing the query
if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("error preparing insert: \(errmsg)")
return
}
这会给出以下错误消息:“准备插入时出错:没有这样的表:Table1”
如我所见,数据库已找到并打开,但无法访问。正如我从 Stackoverflow 的其他帖子中看到的那样,这应该可以
编辑:我现在看到,如果我将数据库名称从 test.sqlite 拼错为 ttestt.sqlite,我仍然会得到同样的错误。表示未找到数据库。这条线有什么问题?
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("test.sqlite")