我已经设置了swift项目来使用sqlite.有时,插入时实际上并不插入正确的(或全部)值.我知道,因为我重新启动应用程序,当我回来时,条目是随机错误(没有插入的东西)或零.但有时是正确的.
这里是我设置的地方,是的,插入前数据的数据是正确的.
let update = "INSERT INTO ToDoItem (itemName, completed, goalDate) " + "VALUES (?, ?, ?);"
var statement: COpaquePointer = nil
if sqlite3_prepare_v2(database, update, -1, &statement, nil) == SQLITE_OK {
let itemName = item.itemName as String
let completed = item.completed == true ? 1 : 0
sqlite3_bind_text(statement, 1, itemName, -1, nil)
sqlite3_bind_int(statement, 2, Int32(completed))
if let goalDate = item.goalDate?.toString() {
sqlite3_bind_text(statement, 3, goalDate, -1, nil)
} else {
sqlite3_bind_text(statement, 3, "", -1, nil)
}
//println("inserting \(itemName), \(completed) and \(item.goalDate?.toString())") …Run Code Online (Sandbox Code Playgroud)