FMDB stringforcolumn with nil
Posted
技术标签:
【中文标题】FMDB stringforcolumn with nil【英文标题】: 【发布时间】:2017-02-16 22:09:37 【问题描述】:如果之前有人问过这个问题(找不到确切的解决方案),我深表歉意,但我的数据库表中有一个类型为 varchar 且可以为空的列。
当我查询取回该列时:
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 崩溃,因为该字段为 null..
我想我只需要将其更改为非 null 并且默认为“”,但是有没有办法让它保持为 null?
谢谢!
【问题讨论】:
你能和我们分享一下,你想做什么来帮助你? 肯定添加了更多代码。谢谢。 可能是一个错误,但您的FMResultSet
被命名为 rsTemp
而不是 rs
所以也许是您的问题,请告诉我
嘿抱歉,我只是更改了一些代码以简化它,但这基本上就是我现在所拥有的,它正在崩溃。
再次检查您的 FMResultSet
的名称,并检查您的方法范围内是否有其他名称为 rs
的对象,也许您有另一个名为 rs 的对象并且没有 .string 方法和这导致您的崩溃
【参考方案1】:
如果您将代码更改为:
if let value = rs.string(forColumn: "internalNote")
let testValue = value
... code continues ...
【讨论】:
这很有趣,让我试试这个。 让我发布消息 :) 啊唯一的问题是我在构造函数中使用它。认为我应该使用三元运算符?问题是,我认为是 FMDB 在展开 null 时会崩溃,但我会尝试【参考方案2】:检查问题不是因为您的查询有InternalNote
而您的rs.string(forColumn:)
调用有internalNote
。
【讨论】:
啊抱歉,我这很愚蠢,代码中是正确的。但仍然没有运气以上是关于FMDB stringforcolumn with nil的主要内容,如果未能解决你的问题,请参考以下文章
如何在 FMDB 查询 iOS Swift 4 中使用 Like with Text?
20161209pod search 'fmdb'提示[!] Unable to find a pod with name, author, summary, or descripti