【发布时间】:2016-10-05 23:58:45
【问题描述】:
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) 是字符串而不是整数,这就是我选择 sqlite3_column_text() 而不是 sqlite3_column_int() 的原因
【问题讨论】:
-
比较 stackoverflow.com/questions/25168030/… 以了解如何将 sqlite3_column_text 的结果转换为 Swift 字符串。
-
第一列不应该有索引0而不是1吗?
-
尝试使用 index = 0 而不是 1,或者直接使用列名:
a -
我用 index = 0 尝试过,但没有成功。正如@Martin R 所说,似乎真正的问题是将 sqlite3_column_text 转换为 swift 字符串