【发布时间】:2019-08-20 07:43:53
【问题描述】:
我想获取结果集中的行数。我正在使用 FMDB 进行数据库操作。还有一个函数hasAnotherRow(),但它每次都返回true。下面是我的代码。
let selectQuery = "SELECT * FROM \(tableName) WHERE chrSync = 'Y'"
if let rs = database.executeQuery(selectQuery, withArgumentsIn: [])
{
// Here I want to check if rs has more than 0 rows
while(rs.next()){
let dir = rs.resultDictionary
let json = JSON(dir)
data.append(json)
print("Has another: \(rs.hasAnotherRow())") // It always returns true
}
let json = JSON(data)
return json
}
我是IOS新手,如果有答案请分享给我。
谢谢。
【问题讨论】:
-
@Anbu.Karthik,我不想只从查询中计数。我想要带有数据的结果集的大小。
-
很多时候你不能得到计数,因为这本身就是一个查询,也因为结果集可能没有所有行(出于内存原因)并且每次都从数据库中获取下一行你打电话给
next(),因此它不知道。我不知道 fmdb 以及它如何实现结果集处理,但很可能您需要手动计算行数。 -
@JoakimDanielson,感谢您提供信息。