if sqlite3_prepare_v2(db, "select a from aaa", -1, &q,nil) == SQLITE_OK {
while sqlite3_step(q) == SQLITE_ROW {
let res = sqlite3_column_text(q, 1)
print(res)
}
} else {
print("NOT WORKING")
NSLog("%s", sqlite3_errmsg(db))
}
在我的表aaa中,我有一个名为'a'的字段,其值为1,2,3,如下所示:
我正在尝试将值放在数组中或只打印它们,但是当我打印(print(res))
时,值只是“nil
”。
我如何获得真正的价值?
编辑:值(1,2,3)是字符串而不是intagers,这就是为什么我选择了sqlite3_column_text()而不是sqlite3_column_int()
答案 0 :(得分:4)
解决:
问题是将函数sqlite3_column_text()转换为字符串,swift3中的解决方案是:
let string = String(cString: sqlite3_column_text(statement, 0))
答案 1 :(得分:0)
我认为a
的数据类型为Int
,您将其作为文本sqlite3_column_text
提取。
请改为:sqlite3_column_int
如果不起作用请尝试以下组合:
Int with row 0:sqlite3_column_int(q, 0)
第0行的文字:sqlite3_column_text(q, 0)