只是一个简单的问题。
我有一个使用过时代码的应用程序(我不是启动应用程序的人:D)
无论如何,它使用SQLite3 ....是啊....
所以我的SQlite3有点生疏,但当我们有这样的多个查询时:
const char *query1 = "SELECT ... ";
if (sqlite3_prepare_v2(_database, query1, -1, &statement, nil) == SQLITE_OK)
{
...
}
const char *query2 = "UPDATE ... ";
if (sqlite3_prepare_v2(_database, query2, -1, &statement, nil) == SQLITE_OK)
{
...
}
我需要使用:
sqlite3_reset(statement);
在我打电话之前;
if (sqlite3_prepare_v2(_database, query2, -1, &statement, nil) == SQLITE_OK)
在上面的示例中,或者每次调用prepare语句时SQLite3是否自动调用sqlite3_reset()
函数?
答案 0 :(得分:-1)
是的,如果你想使用sqlite3_prepare_v2
语句,那么sqlite3_reset(statement)
语句是强制性的,否则有可能抛出异常。
Here,您可以更加了解sqlite3_reset(statement)
的重要性。
享受编码!!
答案 1 :(得分:-1)
当您调用sqlite3_prepare_v2()
时,必须调用sqlite3_finalize()
以释放为该语句分配的资源。
这必须在重用statement
变量之前完成,或者在不再需要该语句时完成。
sqlite3_reset()
。