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

È stato utile?

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
 %>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top