3

我喜欢在此之后记录编译的语句:

if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK)    {

    sqlite3_bind_int( compiledStatement, 1, updateThis.web_id);
    [...]

}
NSLog(@"Put out the complete SQLite Statement.");

直接输出失败,我认为这不是这样做的方法:

NSLog(@"%@",compiledStatement);
4

1 回答 1

9

您不能打印已编译的语句。你可以做的是实现sqlite3_trace回调函数。这将打印每个执行的 sql 语句。

要实现该功能,请在您的 @implementation 块之前添加它

void sqliteCallbackFunc(void *foo, const char* statement) {
    NSLog(@"=> %s", statement);
}

这是您将指向的功能。

指向这个函数的简单调用:

sqlite3_trace(db, sqliteCallbackFunc, NULL);

于 2013-02-06T16:38:19.130 回答