我想在 sqlite3 中创建/更新文本列。当我在创建/更新后检索行时,文本是“?”。但是,整数值已正确保留。
我的文本语句如下所示:
const char *sql = "INSERT INTO todo(title, description, priority, status, created, expires, posx, posy, updated)"
" VALUES('?', '?', '?', '?', '?', '?', '?', '?', '?');";
if (sqlite3_prepare_v2(database, sql, -1, &insert_statment, NULL) != SQLITE_OK)
...
sqlite3_bind_text(update_statment, 5, [[dt stringFromDate:self.updated] UTF8String], -1, SQLITE_TRANSIENT);
我试过 SQLITE_TRANSIENT 和 SQLITE_STATIC。两种情况似乎都产生相同的结果('?')。我还验证了文本值在此处传递到适当的 sql 语句时是有效的。
有任何想法吗?