Asp-Classic

檢索 ADO 記錄集欄位名稱(經典 ASP)

  • April 27, 2021

我想知道是否有人可以提供幫助:

長話短說,我正在使用 MSSQL2005 建構數據透視表。檢查的數據受日期範圍的限制(從最近的星期一到所選日期的 1 週內的所有數據)

當我執行儲存過程並傳遞一個日期時,我得到了正確的表,例如:

我遇到的唯一問題是,列標題將根據傳入 SP 的日期(所需的查看日期)和 SP 內部的邏輯(強制左側列成為距日期最近的星期一)而有所不同指定的)。

這意味著當我向使用者顯示結果時,我(目前)需要複製經典 ASP 中的日期檢查邏輯

$$ easy but a maintainability fail $$ 我真正需要的是一種從記錄集本身檢索列名的方法。

有人可以指出我正確的方向嗎?

我已經用Google搜尋了,但我得到的所有結果似乎都與讀取表模式有關——在這種情況下這無濟於事,因為我的表是在記憶體中動態生成的。

非常感謝您提供的任何幫助

給定一個 ado 記錄集,您可以大致執行以下操作(這是在虛擬碼中):

foreach (field in rs.Fields)
{
   alert(field.Name);
}

這將為您提供該欄位的名稱,請查看此文件

這樣的事情應該這樣做:-

<table>
  <thead>
     <tr>
        <%For Each fld in rst.Fields%>
          <th><span><%=Server.HTMLEncode(fld.Name)%></span></th>
        <%Next %>
     </tr>
  </thead>
  <tbody>
<%
  Do Until rst.EOF
     OutputRow rst.Fields
     rst.MoveNext
  Loop
%>
  </tbody>
</table>

Sub OutputRow(fields)
%>
     <tr>
        <%For Each fld in fields%>
          <td><span><%=Server.HTMLEncode(fld.Name)%></span></td>
        <%Next %>
     </tr>
<%
End Sub
%>

引用自:https://stackoverflow.com/questions/1662038