Pregunta

Me pregunto si alguien puede ayudar:

Para resumir, estoy usando MSSQL2005 para construir una tabla dinámica. Los datos que se examina está limitado por rango de fechas (Todos los datos de 1 semana a partir del próximo lunes a la fecha seleccionada)

Al ejecutar el procedimiento almacenado y lo pasan una fecha, consigo la tabla correcta hacia atrás, por ejemplo:

Tiempo | 1 Ene 09 | de 2 Ene 09 | 3 Ene 09 | ...

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

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

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

(Disculpas por la "mesa" atroz formato).

El único problema que tengo es que los títulos de las columnas puede variar en función tanto de la fecha pasada en el SP (Ver fecha deseada) y la lógica dentro de la SP (lo que obliga a la columna de la izquierda para ser el Lunes cercano a la fecha especificada).

Esto significa que cuando puedo mostrar los resultados al usuario, que (actualmente) necesidad de duplicar la lógica de comprobación de la fecha en ASP clásico [fácil, pero una capacidad de mantenimiento fallará]

Lo que realmente necesito es una manera de recuperar los nombres de las columnas del conjunto de registros.

Por favor alguien puede apuntar en la dirección correcta?

He buscado en Google, pero todos los resultados que consigo parecen relacionarse con la lectura de un esquema de la tabla -. Lo que no ayuda en este caso como mi mesa se genera sobre la marcha en memoria

Muchas gracias de antemano por cualquier ayuda que puede proporcionar

¿Fue útil?

Solución

Dado un registro ADO establece que podría hacer más o menos lo siguiente (Esto está en pseudo código):

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

Esto le dará el nombre del campo de salida este .

Otros consejos

Algo como esto debería hacerlo: -

 <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
 %>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top