检索ADO记录集的字段名(经典ASP)(Retrieve ADO Recordset Field n

2019-09-04 05:06发布

我不知道是否有人能帮助:

长话短说,我使用MSSQL2005建立一个透视表。 被检查的数据由时间范围限制(所有数据1周从最近的星期一开始选定的日期)

当我运行存储过程和传递日期,我得到正确的表背如:

时间 | 09年1月1日 | 09年1月2日 | 09年1月3日 | ...

09:00 | 0 | 9 | 25 | ...

09:30 | 8 | 27 | 65 | ...

10:00 | 20 | 44 | 112 | ...

(道歉的恶劣“表”的格式)。

我唯一的问题是,列标题将基于无论是在传递到SP(所需视图日期)和逻辑的SP内(其迫使左侧列是最近的周一的日期的日期指定)。

这意味着,当我显示结果给用户,I(目前)需要复制在传统的ASP的时间检查逻辑[容易的,但一个可维护性失败]

我真正需要的是从记录本身检索列名的方式。

可有人请点我在正确的方向?

我GOOGLE了,但所有我得到的结果似乎都与读表的结构 - 作为在内存中动态生成我的表是不会在这种情况下帮助。

提前任何非常感谢帮助您可以提供

Answer 1:

给定一个ADO记录集,你可以做大致有以下(这是伪代码):

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

这会给你的字段名称看看这个文件 。



Answer 2:

像这样的东西应该做到这一点: -

 <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
 %>


文章来源: Retrieve ADO Recordset Field names (Classic ASP)