получая ошибку при закрытии sqlite db в ios - PullRequest
0 голосов
/ 16 ноября 2018

Я получаю сообщение об ошибке при обновлении записи и закрытии базы данных. Неполадка при вставке и выделении.

Вот мои методы для обновления записи и закрытия базы данных.

func updateNumber(_ number: String, withCountryCode countryCode: String, forId id:String)
{
    var statement: OpaquePointer? = nil
    if sqlite3_prepare_v2(db, "update number_table Set number = ?, countryCode = ? Where id=?", -1, &statement, nil) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("error preparing update: \(errmsg)")
    }
    if sqlite3_bind_text(statement, 1, number, -1, SQLITE_TRANSIENT) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("failure binding number: \(errmsg)")
    }
    if sqlite3_bind_text(statement, 2, countryCode, -1, SQLITE_TRANSIENT) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("failure country code: \(errmsg)")
    }
    if sqlite3_bind_text(statement, 3, id, -1, SQLITE_TRANSIENT) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("failure binding id: \(errmsg)")
    }
    if sqlite3_step(statement) != SQLITE_DONE {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("failure updating record: \(errmsg)")
    }
    if sqlite3_finalize(statement) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("error finalizing prepared statement: \(errmsg)")
    }
    statement = nil
}
func closeDB()
{
    if sqlite3_close(db) != SQLITE_OK {
        print("error closing database")
        let errmsg = String(cString: sqlite3_errmsg(db))
        print("failure closing database: \(errmsg)")
    }
    db = nil
}

и я получаю следующий вывод на консоль.

ошибка закрытия базы данных
ошибка закрытия базы данных: невозможно закрыть из-за незавершенных операторов или незавершенных резервных копий

Я завершаю обновление, хотя не знаю, как происходит эта ошибка.
Пожалуйста, помогите мне решить это.
Спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...