在我的應用程式中,我使用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)
uj5u.com熱心網友回復:
您可以使用sqlite3_column_type()它來檢查它是SQLITE_INTEGER還是SQLITE_NULL。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/430938.html
