asp-classic - 经典 ASP do 循环仅返回 1 个结果

标签 asp-classic

有人可以看一下我的循环吗? SQL 语句在 SQL Management Studio 中返回 5 个结果,但在页面上仅返回 1 个结果。我猜这是我的循环,但我不明白为什么。这可能是显而易见的事情。

function getpayments()  

dim sqlpay, rspay, oStr, paystat

sqlpay = (Returns 5 results) 
sqlexecute sqlpay, rspay
if not rspay.eof then
    do until rspay.eof
        paystat = rspay("Status")
        oStr = "<tr><td>" & sh(rspay("Date")) & "</td><td>" & sh(rspay("TypeName")) & "</td>"
            if (paystat = "Cheque Sent") or (paystat = "Transfer Made") or (paystat = "Cash Paid") or (paystat = "BACS Cleared") or (paystat = "Transfer Cleared") or (paystat = "BACS Sent") or (paystat = "Cash Cleared") or (paystat = "Cheque Cleared") then
                oStr = oStr & "<td><span class=""label label-success"">Complete</span></td>"
            elseif (paystat = "Committed") or (paystat = "On Hold") then
                oStr = oStr & "<td><span class=""label label-warning"">Pending</span></td>"
            else
                oStr = oStr & "<td><span class=""label label-danger"">Not Approved</span></td>"
            end if
        oStr = oStr & "<td>&pound;" & sh(rspay("Amount")) & "</td></tr>"
        rspay.MoveNext
    Loop
else
    oStr = "<tr><td>No payments found</td></tr>"
    rspay.close
end if
set rspay = nothing

getpayments = oStr

end function

最佳答案

我现在看到了。您可能会获得 5 条记录,但您的 oStr 字符串在每次迭代时都会被分配一个值,从而覆盖之前的值。因此,您可能只会获得从此函数返回的最后记录。

oStr = "<tr><td>" & sh(rspay("Date"))...  ' This is overwriting any previous value

所以你实际上并没有在这里连接你的记录,因为它会随着每个新记录而“重置”。只需将其更改为:

oStr = oStr & "<tr><td>" & sh(rspay("Date"))...

关于asp-classic - 经典 ASP do 循环仅返回 1 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158450/

相关文章:

json - ASPJson 和 Mandrill API

curl - 如何在 asp classic 中使用 cURL 发布数据?

iis-7 - IIS 7错误500 asp中的内部服务器错误

php - 是否可以在 Drupal 和 ASP&SQL Server 平台之间集成用户数据库?

asp-classic - 如何使用 AES 在 VBScript 中加密?

asp.net - 在 JavaScript 中提交表单是否比服务器端提交快得多?

asp-classic - 是否可以在经典 ASP 中处理来自 activeX 对象的事件

apache - 在 IIS 中使用 Solr

asp-classic - 如何防止 Outlook.office.com 在电子邮件中显示消息源

email - 发送 HTML 电子邮件 asp