检索ADO记录集的字段名(经典ASP)
我不知道是否有人能帮助:检索ADO记录集的字段名(经典ASP)
长话短说,我使用MSSQL2005建立一个透视表。正在检查的数据受限于日期范围(从最近的星期一到所选日期的1周内的所有数据)
当我运行Stored Proc并通过日期时,我得到正确的表格,例如:
时间 | 2009年1月1日 | 2009年1月2日号 | 2009年3月3日 | ...
09:00 | 0 | 9 | 25 | ...
09:30 | 8 | 27 | 65 | ...
10:00 | 20 | 44 | 112 | ...
(道歉为残暴的“表”格式)。
我唯一的问题是,列标题将根据传入SP的日期(期望的查看日期)和SP内的逻辑(强制左列为最接近的日期星期一至指定日期)。
这意味着,当我显示结果给用户,我(现在)需要复制在传统的ASP日期检查逻辑[容易,但可维护性失败]
我真正需要的是一种方式从记录集本身检索列名称。
有人可以请指出我在正确的方向吗?
我已经谷歌搜索,但我得到的所有结果似乎与阅读表格架构 - 这在这种情况下没有帮助,因为我的表在内存中正在生成。
提前许多感谢任何帮助,您可以提供
给定一个ADO记录集,你可以做大致有以下(这是伪代码):
foreach (field in rs.Fields)
{
alert(field.Name);
}
这会给你的名字的领域检查出这documentation。
像这样的东西应该做到这一点: -
<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
%>
我正在使用这个代码,但列标题显示在每一行? – 2014-07-11 15:52:18
@BenHamilton比特已晚,但编辑Sub到HTMLEncode fld.Value不是fld.Name – Albofish 2014-10-22 12:38:35
这是令人尴尬的简单 - 使用,请将.Name属性。毋庸置疑,它完美运作。谢谢。 – Basic 2009-11-02 15:58:55
没问题,乐于帮忙! – JoshBerke 2009-11-02 16:03:11
考虑到'.Name'没有记录(例如)[这里](http://www.w3schools.com/ado/ado_ref_recordset.asp),我不会太尴尬。 – iconoclast 2013-06-21 16:29:23