如何解决我的ResultSet只用.next做一行,但我确实有3个
这是我的代码:
this.Dispatcher.BeginInvoke(DispatcherPriority.Render,new Action(() =>
{
this.SetRequestResponseTime();
}));
很抱歉我的编码不好!我真的不知道为什么,但是它在第一行之后就停止了。我认为这可能是“ chaserResult.getInt(“ count(*)”)”行,但我不知道如何替换它,因为我需要一种计算行数的方法。
解决方法
结果中有struct MyView : View {
@State var initialised : Bool = false
init()
{
var initialisedBinding = $initialised
Photos.PHPhotoLibrary.RequestAuthorization {
status in
if (status == Photos.PHAuthorizationStatus.authorized) {
print("here I am")
initialisedBinding.wrappedValue = true
initialisedBinding.update()
}
}
}
var body : some View {
VStack {
if (initialised) {
Text("yep")
} else {
Text("nope")
}
}
}
表示查询仅返回1行。
由于count()
是聚合函数,因此查询是聚合查询,并且SQLite Documentation说:
如果SELECT语句是不带GROUP BY 子句的聚合查询,则结果集中的每个聚合表达式将在整个数据集中进行一次评估。对于数据集中的任意选择的行,会对结果集中的每个非聚合表达式进行一次评估。相同的任意选择的行用于每个非聚合表达式。或者,如果数据集包含零行,则将根据完全由NULL值组成的行评估每个非聚合表达式。
通过评估结果集中的合计表达式和非合计表达式创建的结果集数据的单行形成了不带GROUP BY子句的合计查询的结果。 即使没有零行输入数据,没有GROUP BY子句的聚合查询也始终只返回一行数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。