문제

누군가가 도울 수 있는지 궁금합니다.

간단히 말해서, 나는 MSSQL2005를 사용하여 피벗 테이블을 만들고 있습니다. 검사중인 데이터는 날짜 범위별로 제한됩니다 (가장 가까운 월요일부터 선택된 날짜까지 1 주간의 모든 데이터)

저장된 Proc를 실행하고 날짜를 전달하면 올바른 테이블을 다시 얻습니다.

시간 | 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 내부의 논리 (왼쪽 열이 가장 가까운 월요일부터 날짜에 가장 가까운 날짜에 따라 다르다는 것입니다. 지정).

즉, 결과를 사용자에게 표시하면 클래식 ASP에서 날짜 확인 논리를 복제해야합니다.

내가 정말로 필요한 것은 레코드 세트 자체에서 열 이름을 검색하는 방법입니다.

누군가 나를 올바른 방향으로 가리킬 수 있습니까?

Google에 글을 썼지 만 테이블 스키마를 읽는 것과 관련이있는 것 같습니다.이 경우 테이블이 메모리에서 즉시 생성되어 도움이되지 않습니다.

제공 할 수있는 도움에 미리 감사드립니다.

도움이 되었습니까?

해결책

ADO 레코드 세트가 주어지면 대략 다음을 수행 할 수 있습니다 (PSUEDO 코드에 있습니다).

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

이것은 당신에게 필드의 이름을 줄 것입니다. 선적 서류 비치.

다른 팁

이와 같은 일은 다음과 같습니다.-

 <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
 %>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top