【发布时间】:2022-02-15 03:10:21
【问题描述】:
在我的应用程序中,我使用SQLite 数据库来存储一些数据。整数字段之一是可选的,因此定义如下:
我有以下CREATE 声明:
CREATE TABLE IF NOT EXISTS Test (id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp FLOAT NOT NULL, testProperty INT);
我可以使用sqlite3_column_double 获得浮动属性。对于 int 列,我可以使用 'sqlite3_column_int' 但这总是返回一个值 (0),即使该行不包含值。
如何检查该行是否确实具有此属性的值?
我有以下代码来获取所有行:
var statement: OpaquePointer? = nil
let sql = "SELECT * FROM Test;"
sqlite3_prepare_v2(self.connection, sql, -1, &statement, nil)
while sqlite3_step(statement) == SQLITE_ROW
{
let testProperty = sqlite3_column_int(statement, 2) // always returns 0
}
sqlite3_finalize(statement)
【问题讨论】:
-
为什么要删除上一个问题?如果您取消删除它,如果您还没有弄清楚,我可以发布解决方案。