我知道我们不能将plist或其他缓存文件放在项目的根目录中。
但如果是.db
文件,是否可以放入我们项目的根目录,让我们在table
文件中插入或删除db
?
因为我看到一个演示它放在根目录中,它工作正常,但我在我的项目中使用它,无法向其插入数据。
我调用它的方法返回4
,有时候是2
:
// Private method which handles the actual execution of an SQL statement
private func execute(stmt:OpaquePointer, sql:String)->CInt {
// Step
var result = sqlite3_step(stmt)
if result != SQLITE_OK && result != SQLITE_DONE {
sqlite3_finalize(stmt)
if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
let msg = "SQLiteDB - failed to execute SQL: \(sql), Error: \(error)"
NSLog(msg)
}
return 0
}
// Is this an insert
let upp = sql.uppercased()
if upp.hasPrefix("INSERT ") {
// Known limitations: http://www.sqlite.org/c3ref/last_insert_rowid.html
let rid = sqlite3_last_insert_rowid(self.db)
result = CInt(rid)
} else if upp.hasPrefix("DELETE") || upp.hasPrefix("UPDATE") {
var cnt = sqlite3_changes(self.db)
if cnt == 0 {
cnt += 1
}
result = CInt(cnt)
} else {
result = 1
}
// Finalize
sqlite3_finalize(stmt)
return result
}
但我使用SQLPro for SQLite
工具查看表格(我使用此工具创建),表格未插入任何记录。
那么,如果我们可以将db
文件放在根目录中,让我们在db
文件中插入或删除数据?