Fug*_*gly 22 sqlite iphone objective-c fmdb
有没有人知道如何在使用FMDB时返回查询计数?如果我执行Query @"selecttable(*)from sometable是......"我得到一个空的FMResultSet.如何获取查询的行数?我是否需要执行诸如"select*from sometable where .."之类的查询并迭代结果集?或者我可以使用useCount或最好的方式(在性能方面)做到这一点?
谢谢!
Ben*_*ron 88
更短的代码来完成同样的事情:
NSUInteger count = [db intForQuery:@"SELECT COUNT(field) FROM table_name"];
确保包含要使用的FMDatabaseAdditions.h头文件intForQuery:.
pal*_*aja 21
试试这个.这个对我有用.不建议迭代所有记录.
FMResultSet *rs = [db executeQuery:@"select count(FIELD) as cnt from TABLENAME"];
while ([rs next]) {
NSLog(@"Total Records :%d", [rs intForColumn:@"cnt"]);
}
Run Code Online (Sandbox Code Playgroud)
也许你应该检查你的Where子句.
此代码片段将为您打印计数。
if let rs = db.executeQuery("SELECT COUNT(*) as Count FROM TABLE_NAME", withArgumentsInArray: nil) {
while rs.next() {
print("Total Records:", rs.intForColumn("Count"))
}
}
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,有一些建议:
a) 在您的项目中寻找一行显示let database =或var database =。如果您找到一个
,则更db改为database
b) 您是否将 Select 语句中的 TABLE_NAME 更改为您的表的名称?
| 归档时间: |
|
| 查看次数: |
24622 次 |
| 最近记录: |