Ich möchte Textspalten in sqlite3 erstellen/aktualisieren. Wenn ich Zeilen nach der Erstellung/Aktualisierung abrufe, lautet der Text "?". Integer-Werte werden jedoch ordnungsgemäß beibehalten.Wann SQLITE_TRANSIENT vs SQLITE_STATIC verwenden?
Mein Text-Anweisungen wie folgt aussehen:
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);
Ich habe versucht, SQLITE_TRANSIENT sowie SQLITE_STATIC. Beide Fälle scheinen dieselben Ergebnisse zu liefern ("?"). Ich habe auch überprüft, dass die Textwerte gültig sind, wenn sie in die entsprechenden SQL-Anweisungen hier übergeben werden.
Irgendwelche Ideen?
Wie sieht Ihre vorbereitete Aussage aus? –