这是我第一次使用Sql数据库,在快速搜索中,我看了一段视频,解释了如何添加一个名为“ 2SwiftData”的外部文件,它具有许多功能,如“ createTable”等。现在有一些问:
1)我应该关闭并打开数据库吗?
2)为什么找不到在Spotlight搜索中创建的表?
3)函数之一是SD.lastInsertedRowId(),无论我做什么,该函数都应返回该行的ID,返回0,并且表中包含信息行

功能:

public static func lastInsertedRowID() -> (rowID: Int, error: Int?) {

    var result = 0
    var error: Int? = nil
    let task: ()->Void = {
        if let err = SQLiteDB.sharedInstance.open() {
            error = err
            return
        }
        result = SQLiteDB.sharedInstance.lastInsertedRowID()
        SQLiteDB.sharedInstance.close()
    }
    putOnThread(task)
    return (result, error)

}


要求:

    let ra = SD.lastInsertedRowID() <br>
    print(ra)

最佳答案


SD.lastInsertedRowID()
返回当前会话中最后插入的rowid。
通过做
SQLiteDB.sharedInstance.open()您已经开始了没有INSERT的新连接会话。 manual表示在这种情况下lastInsertedRowID应该返回0。这就是您得到的。

08-07 04:11