Ios 如何在SQLite中使用for循环插入strftime

Ios 如何在SQLite中使用for循环插入strftime,ios,sqlite,Ios,Sqlite,我在SQLite中创建了列类型为“date”的表。 但是,当我使用参数调用insert语句时: sqlite3_bind_text(stmt, 6, [@"strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime')" UTF8String], -1, SQLITE_TRANSIENT); 它不工作并返回结果: strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime') 请帮帮我!谢谢 当您调用s

我在
SQLite
中创建了列类型为“date”的表。 但是,当我使用参数调用insert语句时:

sqlite3_bind_text(stmt, 6, [@"strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime')" UTF8String],  -1, SQLITE_TRANSIENT);
它不工作并返回结果:

strftime('%%Y-%%m-%%d at %%H:%%M','now', 'localtime')

请帮帮我!谢谢

当您调用
sqlite3\u bind\u 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);
在这种情况下,您需要的是如下内容:

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\u bind\u xxx
时使用的索引