나는 특정 이벤트가 발생할 날짜를 표시 (강조 표시)하는 응용 프로그램을 작성 중입니다. 내가 사용해야하는 데이터베이스에는 날짜 간격 또는 특별한 의미가있는 날짜 모음 (예 : 공휴일, 학교 간 휴무 ... 모음)이 포함 된 테이블이 있습니다. 이벤트가 정의되면 사용자는 이벤트가 발생하는 날 (주기적으로 발생하는 경우)을 정의하지만 사용자는 특정 간격에서 특정 이벤트가 발생했는지 또는 발생하지 않는지를 정의 할 수도 있습니다. 예 : 일요일이 공휴일이 아닌 경우 매주 일요일에 이벤트가 발생할 수 있습니다. 이제는 해당 이벤트에 대한 데이터베이스에서 데이터를 읽은 다음 (해당 이벤트가 발생하는 날짜를 결정) 강조 표시된 날짜 목록을 채 웁니다 (MotnhCalendar 및 BoldedDates를 사용한 그래픽 표현의 경우). 배열) :이 코드를 제대로 작동하려면SQL 데이터베이스에서 C#의 목록으로 데이터로드
for (DateTime day = start; day < end;day = day.AddDays(1))
{
if (Sunday && day.DayOfWeek == DayOfWeek.Sunday)
{
MarkedDates.Add(day);
}
monthCalendar1.BoldedDates = MarkedDates.ToArray();
}
지금, 나는 그 날짜가) 휴일 인 경우이 경우 특별한 간격 (에 속하는 날짜를 생략해야합니다. 쉽게 경우 절에 다른 조건을 추가하여 수행 할 수 있습니다 :
!SpecialDates.Contains(day)
문제는 내가 데이터베이스에서 이러한 특수 날짜와 함께 목록을 채우는 방법을 모르는 것입니다. 이러한 특별한 날짜 컬렉션/간격은 언제든지 변경 될 수 있기 때문에 단순히 "하드 코딩"할 수는 없습니다. 그래서, 내 질문입니다 - 어떻게 SQL 및 C# 명령을 사용하여 데이터베이스에서 데이터를 읽고 목록에 저장합니다.
감사
"* 어떻게 내가 , SQL 및 C# 명령을 사용하여 데이터베이스에서 데이터를 읽고 목록에 저장 * * "- 이것은 모두 지정하지 않은 백엔드로 사용하는 방법에 따라 다릅니다. – James
백엔드에서 무엇을 의미합니까? 저는 Visual Studio 2010을 사용하고 있으며 데이터베이스는 클라이언트가 소유 한 원격 서버에 있으며 어느 SQL 서버를 사용하고 있는지 확실하지 않습니다. – NDraskovic
백엔드는 지속성 계층을 의미합니다. 데이터 베이스. 옵션은 실행중인 SQL Server의 버전에 따라 달라 지므로 중요하다고 판단 할 수 있습니다. – James