当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《在使用sqlite3_exec执行查询后,我应该使用sqlite3_finalize吗?》经验,为你挑选了1个好方法。

我在我的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)关闭数据库之前我应该吗?



1> pierrotlefou..:

不.您不需要,因为sqlite3_finalize()调用函数来删除使用或相关函数创建的预准备语句sqlite3_prepare_v2().

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有