iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 何时在iOS中的sqlite中执行finalize语句?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在iOS中使用sqlite时,何时执行finalize语句?

我是否需要在每次查询后完成声明?

重置和终结有什么区别?

如果我重置,我是否需要完成最终确定?

谢谢.

解决方法

当您完成一个语句时,可以使用sqlite3_finalize()函数,因为您执行了如下所示的一次性查询

const char *sql = "SELECT COUNT(*) FROM bonds WHERE molecule=? AND structure=?";
sqlite3_stmt *bondCounTingStatement;

unsigned int @R_657_10586@lBondCount = 0;

if (sqlite3_prepare_v2(database,sql,-1,&bondCounTingStatement,NULL) == sqlITE_OK) 
{
    sqlite3_bind_int(bondCounTingStatement,1,databaseKey);
    sqlite3_bind_int(bondCounTingStatement,2,numberOfStructureBeingDisplayed);

    if (sqlite3_step(bondCounTingStatement) == sqlITE_ROW)
    {
        @R_657_10586@lBondCount =  sqlite3_column_int(bondCounTingStatement,0);
    }
    else
    {
    }
}
sqlite3_finalize(bondCounTingStatement);

或者如果您已完成准备好的声明,您将永远不再需要(可能是因为您在退出应用程序时正在清理).

如果你创建了一个你想要反复使用的语句(出于性能原因,因为准备语句的成本相当昂贵),你可以使用sqlite3_reset()来重置查询,以便它可以使用再次.在您决定永远不想重复使用该语句之前,您不希望在这种情况下最终确定(同样,通常这是在您的应用程序或特定对象的拆除期间).

仅在最后重置语句的查询示例如下:

sqlite3_bind_text(insertMoleculesqlStatement,[filename UTF8String],sqlITE_TRANSIENT);
int success = sqlite3_step(insertMoleculesqlStatement);

// Because we want to reuse the statement,we reset it instead of finalizing it.
sqlite3_reset(insertMoleculesqlStatement);

大佬总结

以上是大佬教程为你收集整理的iphone – 何时在iOS中的sqlite中执行finalize语句?全部内容,希望文章能够帮你解决iphone – 何时在iOS中的sqlite中执行finalize语句?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。