FMDB stringforcolumn 为 nil

FMDB stringforcolumn with nil

如果之前有人问过这个问题(找不到确切的解决方案),我深表歉意,但我的数据库中有一列 table 是 varchar 类型并且可以为 null。

当我查询取回列时:

 let rs: FMResultSet = db.executeQuery("SELECT InternalNote from MyTable where id = ?", withArgumentsIn: [id])

        while(rs.next())
        {
           let testValue = rs.string(forColumn: "InternalNote") 
            ..code continues..
        }
..

它导致上面的 rs.string 崩溃,因为该字段为空..

我想我必须将其更改为非空值并默认为“”,但有没有办法让它保持空值?

谢谢!

如果您将代码更改为:

if let value = rs.string(forColumn: "internalNote") {
    let testValue = value 
    ... code continues ...
}

检查问题是否不是因为您的查询有 InternalNote 而您的 rs.string(forColumn:) 调用有 internalNote