gpt4 book ai didi

iphone - 我应该在使用 sqlite3_exec 执行查询后使用 sqlite3_finalize 吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:50 25 4
gpt4 key购买 nike

我在我的 iPhone 应用程序中使用 Sqlite3,我显然在随机基础上得到了一些不需要的回滚,但是我不知道这是否与我没有使用 sqlite3_finalize 完成语句这一事实有关,因为据我所知,sqlite3_exec 会处理它。

我还发现了一些我没有完成的 sqlite3_prepare_v2 SELECT,所以我知道我必须完成这些,但是我应该对 sqlite3_exec 中的那些做同样的事情吗?

我的陈述的一个例子是:

NSString *query=@"UPDATE books SET title='newName' WHERE id='21';";
if ((result=sqlite3_open([database UTF8String], &_database))==SQLITE_OK) {
result=sqlite3_exec(_database, [query UTF8String],NULL,NULL,&errorMsg);
if (result!=SQLITE_OK) {
printf("\n%s",errorMsg);
sqlite3_free(errorMsg);
}
sqlite3_close(_database);
}

我应该在关闭数据库之前返回 sqlite3_finalize(result) 吗?

最佳答案

没有。你不需要,因为调用 sqlite3_finalize() 函数来删除使用 sqlite3_prepare_v2() 或相关的创建的 prepared statement功能。

关于iphone - 我应该在使用 sqlite3_exec 执行查询后使用 sqlite3_finalize 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1718929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com