Asp 使用 SQL 数据库 returns 经典填充 table

Asp Classic fill table with SQL database returns

我有 ASP 经典代码 SQL 声明 returns 两列数据,我需要填写 table.

我调用了下面的函数,它连接到数据库,但挑战在于如何将返回的数据输入 table。我可能需要做一些 "do while",这是我卡住的地方,我可以使用一些指导或指导:)

Function FillTable()

    Msg_Body = Msg_Body & "
" & vbCrLf
    Msg_Body = Msg_Body & "" & vbCrLf
    Msg_Body = Msg_Body & "" & vbCrLf    
   sql = " Select distinct a.column1 as ColumnName, count(a.column1) as TotalCount " & vbCrLf
   sql = sql & " from table1 a, table2 c, table1_type d, sprt_sc_folder e  " & vbCrLf
   sql = sql & " WHERE a.column1 = b.column2 " & vbCrLf
   sql = sql & " group by a.column1 " & vbCrLf
   response.write("Column_Count:
" & sql & "

")
    set rs = connP15.Execute(sql)

    Column_Name = rs("ColumnName")
    Total_Count = rs("TotalCounts")

End Function

你是想把这个table放到Msg_Body中,还是想显示在屏幕上,还是想把函数return[=21] =] 作为它的值,或者 ...?

Function FillTable()
    dim t
   '...
    set rs = connP15.Execute(sql)
    t = "<table><tr><th>Column</th><th>Count</th></tr>"
    Do Until rs.EOF
        t = t & "<tr>"
        t = t & "<td>" & rs("ColumnName") & "</td>"
        t = t & "<td>" & rs("TotalCount") & "</td>"
        t = t & "</tr>"
        rs.Movenext '<-- very, very important! (well, unless you like hung servers)
    Loop
    t = t & "</table>"
    rs.Close
    Set rs = Nothing
    FillTable = t
End Function

您可以尝试使用 rs.GetString... 而不是 Do...Loop,但根据我的经验,它喜欢在末尾添加空白 rows/columns,然后您必须将其删除不知何故,所以除非你 return 数千行 and/or 数百列,否则不值得。