當您撥打sqlite3_bind_text
時,您將綁定一個文字字符串值。該字符串不被執行。
讓我們假設你有這樣的事情:
sqlite3_stmt *stmt;
sqlite3_prepare_v2(dbHandle, "INSERT INTO table_name (column1, column2) VALUES (?, ?)", -1, query, nil);
sqlite3_bind_text(stmt, 1, [@"strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime')" UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 2, "Other value", -1, SQLITE_TRANSIENT);
你想在這種情況下,什麼是這樣的:
sqlite3_stmt *stmt;
sqlite3_prepare_v2(dbHandle, "INSERT INTO table_name (column1, column2) VALUES (strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime'), ?)", -1, query, nil);
sqlite3_bind_text(stmt, 1, "Other value", -1, SQLITE_TRANSIENT);
你想要strftime
直接撥打電話查詢。請注意,由於您在查詢中只有一個?
,因此您需要將調用中使用的索引調整爲sqlite3_bind_xxx
。
太好了,它對我有用! – user2303587 2013-04-21 04:01:07