似乎人们已经失去了使用现代语言生成旧式COBOL / RPG报告的能力。
我经常看到使用依赖于记录数量的DataReader的代码。因此,当不需要时,会出现额外的聚合查询。
在大多数情况下,此代码需要知道是否有其他记录可用。换句话说,告诉我,如果我在最后一条记录,那么我可以显示一个记录分隔符。
一个简单的算法如下:
Dim available As Boolean = rdr.Read()
While available
DisplaySearchRecord(rdr)
available = rdr.Read()
If available Then DisplaySeparator()
End While
请注意,当算法的简单更改就足够时,请不要使用COUNT(*)或数据表/数据集。
答案 0 :(得分:0)
为什么不在while
之后显示分隔符?
While rdr.Read()
DisplaySearchRecord(rdr)
End While
DisplaySeparator()
答案 1 :(得分:0)
您可以尝试这样的事情
Dim IsFirst As Boolean = True
While rdr.Read()
If Not IsFirst
DisplaySeparator()
Else
IsFirst = False
End If
DisplaySearchRecord(rdr)
End While
答案 2 :(得分:0)
你必须继续调用reader.Read(),当没有更多记录时它将返回false。
所以我要做的是将数据从数据库中转储到List<YourRecord>
中,然后填充列表...用for(i ++)循环遍历它并检查i对列表。计数