2013-03-05 5 views
0

주간 교육을위한 특정 날짜로 채워진 sql 데이터베이스가 있습니다. 매주 화요일과 수요일에만 교육을받습니다. 현재 다음과 같이 출력됩니다 :데이터베이스에 날짜가 표시되지 않고 특정 요일에만 표시됩니다.

Training Schedule 

Mar 4 - Training Title 
Mar 5 - Training Title 
Mar 12 - Training Title 
Mar 19 - Training Title 

글쎄 지금은 화요일과 수요일에만 데이터베이스에없는 날짜를 표시해야합니다. 그래서 기본적으로 지금처럼 보입니다.

Training Schedule 

Mar 4 - Training Title 
Mar 5 - Training Title 
Mar 12 - Training Title 
Mar 13 - No Training 
Mar 19 - Training Title 
Mar 20 - No Training 

은에 가서 (즉 영원히 걸릴 것 때문에) 데이터베이스에 모두 '아니오 교육'날짜를 추가하지 않고이 작업을 수행하는 가장 좋은 방법은 무엇입니까. SQL 쿼리에 의해 반환 된 데이터 세트를 통해

var now = DateTime.Now; 
var tableSql = "select * from Training where Date >= " + "'" + now + "'" + " order by Date"; 
pcm.CommandText = tableSql; 
prs = pcm.ExecuteReader(); 
var rowcount = 0; 
while (prs.Read()) 
    { 
    rowcount++; 
      %> 
<%=Convert.ToDateTime(prs["Date"].ToString()).ToString("MMM d").ToUpper()%> - <%=prs["Title"].ToString().ToUpper() %> <% } %> 
     <% 
      prs.Close(); 
      pcn.Close(); 
     %> 
+0

DayofTheWeek() 메서드를 기반으로 테이블을 쿼리 할 수 ​​없습니까? 현재 당신이> = 현재 시스템 날짜 인 모든 날짜를 쿼리하는 것처럼 보입니다. 쿼리 선택을 변경해야합니다. – MethodMan

+0

여기 몇 가지 아이디어를 찾고 있습니다. http://stackoverflow.com/questions/9901814/how-to-get-30 -days-from-todays – MethodMan

+0

SQL 문자열이 데이터베이스에없는 날짜를 가져 오는 방법에 대해 혼란스러워합니다. "훈련 없음"날짜는 데이터베이스에 없습니다. – techora

답변

0

루프와 모음 (List<string>)에 결과를 추가 : 지금은 단순히 다음 코드를 사용하여 데이터베이스 결과를 출력하고있다. 그런 다음 알려진 날짜 범위를 가져 와서 해당 날짜를 반복하고 요일이 화요일 또는 목요일 인 경우 컬렉션을 검사하여 해당 날짜의 값이 있는지 확인하십시오. 그렇다면 해당 문자열을 표시하고 그렇지 않으면 "교육 없음"메시지를 표시하십시오.

관련 문제