パラメータの名前を取得しようとしていますが、何か問題が発生しています。sqlite3でバインドパラメータ名を取得できません
コード:(再生産の問題に最小限のコード)
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)
私は@AAA
、:AAA
、$AAA
を使用しますが、私は?123
(?NNN
形式)を使用する場合、私はnil
を取得する場合、私はパラメータ名を取得します。しかし、websiteによれば、私は?123
をString
とすべきです。
私は間違っていますか?
ありがとうございます。
上記の質問には正しいことはありますか?このsqlite3_close(db)またはこのsqlite3_close(statement) – ArgaPK