我的原始代码
func getUserByEmpNum(_ id: Int) -> String {
let nameQuery: String = "SELECT fld_str_firstname, fld_str_lastName FROM userView WHERE fld_int_id = \(id);"
var returnStr = ""
do {
let dbQueue = try DatabaseQueue(path: MYCDatabase.pathToDatabase)
try dbQueue.inTransaction(.none) { (db) -> Database.TransactionCompletion in
let returnStrs = try String.fetchAll(db, sql: nameQuery)
// Placing a breakpoint here, returnStrs only has one element?
return .commit
}
} catch {
print (error)
}
return returnStr
}
我的问题
在这段代码中,如果我执行类似的查询,select fld_str_firstname from myOwnUserView where fld_int_id = 2;
我会在 returnStrs 数组中得到一个元素,这与预期的一样。然后选择这两个字段,就像在 nameQuery 中一样,我仍然只能在 returnStrs 数组中得到一个字符串。
为什么会这样,我如何适应它以获取响应中的所有选定列?