我试图获取参数的名称,但出现了问题。无法在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
但我得到nil
如果我使用?123
(?NNN
格式)。但根据website我应该得到?123
作为String
。
我在做什么错?
谢谢。
在上面的问题中哪个是正确的?这个sqlite3_close(db)或者这个sqlite3_close(语句) – ArgaPK