Ich versuche, die Namen der Parameter zu erhalten, aber etwas läuft schief.Name des Bindungsparameters kann nicht in sqlite3 abgerufen werden
Code: (minimaler Code neu zu produzieren das Problem)
var db: OpaquePointer? = nil
var rc: Int32 = 0
rc = sqlite3_open("test.db", &self.db)
if rc != SQLITE_OK
{
print("cant open")
}
var statement: OpaquePointer? = nil
let sql = "insert into testtable values(?123);"
rc = sqlite3_prepare_v2(db, sql, -1, &statement, nil)
if rc != SQLITE_OK
{
print("cant prepare")
}
print(String(cString: sqlite3_bind_parameter_name(statement, 1))) // returns nil
sqlite3_finalize(statement)
sqlite3_close(db)
ich Parameternamen, wenn ich @AAA
verwenden, :AAA
, $AAA
aber ich bekomme nil
wenn ich ?123
(?NNN
-Format) verwenden. Aber nach website sollte ich ?123
als String
bekommen.
Was mache ich falsch?
Vielen Dank.
in der obigen Frage, die richtig zu tun ist? Dieses sqlite3_close (db) oder dieses sqlite3_close (statement) – ArgaPK