2013-02-06 46 views
2

我喜歡登錄後這個編譯聲明:打印/日誌SQLite的聲明後,結合

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

回答

7

您無法打印compiledStatement。你可以做的是實現sqlite3_trace回調函數。這將打印每個執行的SQL語句。

要實現的功能您@implementation塊

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

這是您將指向函數之前添加此。

指向這個函數簡單的調用:

sqlite3_trace(db, sqliteCallbackFunc, NULL);

+0

非常有用的感謝! – Paludis