使用sqlite3_prepare_v2
时,是否需要在每条路径中调用sqlite3_finalize
,或仅在成功时调用?{1}}?例如,这是我在Swift方法中使用的代码:
let prepare = sqlite3_prepare_v2(db!, SQLString, -1, &delete, nil)
if (prepare == SQLITE_OK){
if !(sqlite3_step(delete) == SQLITE_DONE){
sqlite3_finalize(delete) // *
sqlite3_close(db)
return
}
} else {
// **
sqlite3_close(db)
return
}
sqlite3_finalize(delete)
sqlite3_close(db)
// rest of method continues if it didn't fail
*我假设我需要在这里调用它,因为语句已成功准备,即使它没有成功运行
**但是我需要在这里打电话吗?