我在我的iPhone应用程序中使用了SqLITE3,我显然是在随机的基础上得到一些不需要的回滚,但是我不知道这是否与我没有用“cc>”来结束语句的事实有关,因为据我所知sqlite3_finalize
照顾它。
我还发现了一些与《cc>》中的我没有完成的选择,所以我知道我必须完成这些,但是我应该和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_prepare_v2
吗? 最佳答案
不需要,因为调用sqlite3_finalize()
函数是为了删除使用sqlite3_prepare_v2()
或相关函数创建的已准备语句。