我如何检查我是否在ADO Recordset的最后一条记录上?

Nic*_*k G 3 loops asp-classic do-while

我怎么知道我是否在记录集的最后一条记录上.我的循环如下;

<%do while (adoRsTrade.AbsolutePage = iPageCurrent) and (not adoRsTrade.EOF)
NewRep = adoRsTrade("calIncludedRep")%>
Run Code Online (Sandbox Code Playgroud)

我之间有很多代码,但这个if语句是重要的,只要CurRep <> NewRep就显示数据的小计,这意味着它现在是下一个人数据集

if (CurRep <> NewRep or FirstTime="T" and (not adorsTrade.BOF)) then
  If FirstTime <> "T" then%>
      <TR>
        <td>
            <table class='FontStandardMinus1' border=0 cellPadding=0 align='left' cellSpacing=0 width="100%" bgcolor='#ffffff'>
                 <TR>
                    <td width="59%" align="left"><b>SubTotals<!-- for <%Response.Write(CurRep) %>-->:</b></td>
                    <td width="10%" valign=top align=right><%=FormatNumber(totPrincipal,2)%></td>
                    <td width="7%" valign=top align=right><%=FormatNumber(totInterest,2)%></td>
                    <td width="7%" valign=top align=right><%=FormatNumber(totCommission,2)%></td>
                    <td width="5%" valign=top align=right><%=FormatNumber(totSECFee,2)%></td>
                    <td width="4%" valign=top align=right><%=FormatNumber(totSvcFee,2)%></td>
                    <td width="9%" valign=top align=right><%=FormatNumber(totNet,2)%></td>
                </TR>
            </table>
        </td>
    </TR>
<%end if%>
Run Code Online (Sandbox Code Playgroud)

基本上我需要另一个条件,说如果currep <> newrep或firsttime ="t"或者如果它是ADO Recordset中的最后一条记录,则显示这也是一个小计.

<%

FirstTime="F"
CurRep = adoRsTrade("calIncludedRep")
adoRsTrade.MoveNext

loop%>
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助,提前谢谢你,NickG

Bra*_*ing 7

您可以在记录集上调用MoveNext后检查EOF,以测试您是否在最后一条记录上.

例如:

Do While adoRsTrade.AbsolutePage = iPageCurrent And Not adoRsTrade.EOF
  ' DO SOME STUFF
  ' --------------
  ' --------------
  adoRsTrade.MoveNext
  If adoRsTrade.EOF Then
    ' last record!
    ' DO SOME OTHER STUFF
  End If
Loop
Run Code Online (Sandbox Code Playgroud)