特定のイベントが発生する日付を表示(強調表示)するアプリケーションに取り組んでいます。私が使用しなければならないデータベースには、特別な意味を持つ日付間隔または日付のコレクション(休日のコレクション、学校の休みなど)を含むテーブルがあります。イベントを定義するとき、ユーザーはそのイベントが発生する日を定義します(定期的に発生する場合)が、ユーザーはその特定のイベントが特別な間隔で発生するかどうかを定義することもできます。たとえば、その日が休日でない場合、毎週日曜日にイベントが発生する可能性があります。今私は'
for (DateTime day = start; day < end;day = day.AddDays(1))
{
if (Sunday && day.DayOfWeek == DayOfWeek.Sunday)
{
MarkedDates.Add(day);
}
monthCalendar1.BoldedDates = MarkedDates.ToArray();
}
ここで、このコードが正しく機能するためには、特別な間隔に属する日付をスキップする必要があります(この場合、その日付が休日の場合)。これは、if句に別の条件を追加することで簡単に実行できます。
!SpecialDates.Contains(day)
問題は、データベースからこれらの特別な日付をリストに入力する方法がわからないことです。これらの特別な日付のコレクション/間隔はいつでも変更できるため、単純に「ハードコーディング」することはできません。ですから、私の質問は、SQLコマンドとC#コマンドを使用して、データベースからデータを読み取り、リストに保存するにはどうすればよいかということです。
ありがとう