ios - Swift - 如何在 SQLite 查询中捕获 nil 值?

标签 ios swift sqlite

我正在使用 SQLite 通过以下代码获取数据。

func idToName(id: String) -> String {
        do {
            if (id == "") {
             return ""
            } else {
                var SqlQuery="Select kod from id where idText="
                SqlQuery.append("\""+id+"\"")
                let stmt = try db?.prepare(SqlQuery)
                let tempScalar = try stmt?.scalar() as! String
                return tempScalar
            }
        } catch {
            print("failed")
        }
        return ""
    }

语句中有一个 do try catch block 。但是,当 tempScalar 变量为 nil 时,它不会在 catch block 中捕获并出现错误,我该如何改进或修复该代码?

最佳答案

可以查看IFNULL from here .

例如

Select kod from id where idText= ifnull(id,0)

关于ios - Swift - 如何在 SQLite 查询中捕获 nil 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49125615/

相关文章:

swift - 为什么 UInt64 max 在 Swift 中等于 -1?

swift - 为什么这不会导致 Swift 中的保留循环?

ios - 从 Firebase 字典中获取结果?

sqlite - 有没有办法在SQLite数据库上运行SQL报告?

java - 如果数字在数字列表中,如何形成 sqlite 查询来选择一行

ios - 绘制(_矩形: CGRect) not drawing above certain size

ios - SizetoFit 与 UIViewAutoresizingFlexibleHeight。有什么不同?

ios - 不使用 Facebook 和 Twitter 帐户的 Gigya native 登录

mysql - 如何使通配符考虑之间的空格

ios - 当用户将手指拖入按钮区域时触发 UIButton 的方法?