【问题标题】:Print / Log the SQLite Statement after the binding绑定后打印/记录 SQLite 语句
【发布时间】:2013-01-21 21:56:36
【问题描述】:

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

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);

【问题讨论】:

    标签: objective-c sqlite


    【解决方案1】:

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

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

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

    这是您将指向的函数。

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

    sqlite3_trace(db, sqliteCallbackFunc, NULL);

    【讨论】:

      猜你喜欢
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      相关资源
      最近更新 更多