Recuperare i nomi ADO Recordset campo (Classic ASP)
-
12-09-2019 - |
Domanda
Mi chiedo se qualcuno può aiutare:
Per farla breve, sto usando MSSQL2005 per costruire una tabella pivot. I dati all'esame è limitato per intervallo di date (Tutti i dati per 1 settimana a partire dal più vicino Lunedi alla data selezionata)
Quando eseguo lo Stored Proc e passarlo una data, ho la tabella corretta indietro ad esempio:
Ora | 1 9 gennaio | 2 Gennaio 09 | Hotel 3 9 gennaio | ...
09:00 | 0 | 9 | 25 | ...
09:30 | 8 | 27 | 65 | ...
10:00 | 20 | 44 | 112 | ...
(Ci scusiamo per l'atroce "tavolo" formattazione).
L'unico problema che ho è che la colonna variano in base sia alla data passata alla SP (La data vista desiderata) e la logica all'interno SP (che forza la colonna di sinistra per essere il più vicino Lunedi alla data specificata).
Ciò significa che quando visualizzo i risultati per l'utente, I (attualmente) bisogno di duplicare la logica data di check-in ASP classico [facile, ma una manutenzione fallire]
Quello che ho veramente bisogno è un modo di recuperare i nomi delle colonne dal recordset stesso.
Qualcuno può per favore mi punto nella giusta direzione?
Googled ma tutti i risultati che ottengo sembra di relazionarsi con la lettura di una tabella Schema -. Che non aiuta in questo caso come il mio tavolo è stato generato al volo in memoria
Grazie in anticipo per qualsiasi aiuto che potete fornire
Soluzione
Dato un record di ADO imposta si potrebbe fare più o meno la seguente (Questo è nel codice pseudo):
foreach (field in rs.Fields)
{
alert(field.Name);
}
Questo vi darà il nome del campo controlla questo documentazione .
Altri suggerimenti
Qualcosa di simile dovrebbe farlo: -
<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
%>