Ios Swift Sqlite3_列_文本()
在我的表aaa中,有一个名为“a”的字段,其值为1,2,3,如下所示: 我试图将值放入数组中或只是打印它们,但当我打印Ios Swift Sqlite3_列_文本(),ios,database,swift,sqlite,Ios,Database,Swift,Sqlite,在我的表aaa中,有一个名为“a”的字段,其值为1,2,3,如下所示: 我试图将值放入数组中或只是打印它们,但当我打印(打印(res))时,值只是“nil” 我怎样才能得到真正的价值 编辑:值(1,2,3)是字符串而不是插入器,这就是为什么我选择sqlite3\u column\u text()而不是sqlite3\u column\u int()我认为a的数据类型是int,您将其作为文本sqlite3\u column\u text获取 试试这个:sqlite3\u column\u int
(打印(res))
时,值只是“nil
”
我怎样才能得到真正的价值
编辑:值(1,2,3)是字符串而不是插入器,这就是为什么我选择sqlite3\u column\u text()而不是sqlite3\u column\u int()我认为
a
的数据类型是int
,您将其作为文本sqlite3\u column\u text
获取
试试这个:sqlite3\u column\u int
如果不起作用,请尝试以下组合:
- 第0行的Int:
sqlite3\u列\u Int(q,0)
- 行为0的文本:
sqlite3\u列\u文本(q,0)
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))
}
比较sqlite3\u column\u text的结果如何转换为Swift字符串。第一列不应该使用索引0而不是1吗?请尝试使用索引=0而不是1,或者直接使用列的名称:
a
我尝试使用索引=0,但没有成功。看起来真正的问题是将sqlite3_column_text转换为swift string,正如@Martin R所说的感谢您的评论,我以前没有写过,但是值是字符串而不是intager(查看编辑的帖子)。试试这个:sqlite3_column_text(q,0),所以它是0索引并转换为字符串!!
let string = String(cString: sqlite3_column_text(statement, 0))