2011-04-12 3 views
0

안녕 내가 날짜와 일치하면 전 달력어떻게 비교할 수 있습니다 경우 SQLDate 및 CalendarDay

private void Calendar1_DayRender(Object source, DayRenderEventArgs e) 
{ 
    CalendarDay de = null; 

    int i = 0, j = 0; 
    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MYDB"].ToString())) 
    { 
     conn.Open(); 
     using (SqlCommand cmd = new SqlCommand()) 
     { 
      cmd.Connection = conn; 
      cmd.CommandType = CommandType.Text; 
      cmd.Parameters.Add(new SqlParameter("@Today", SqlDbType.Date)); 
      cmd.Parameters["@Today"].Value = e.Day.Date.; 
      cmd.CommandText = " Select Date from tour where date >= @Today"; 

      SqlDataReader sr = cmd.ExecuteReader(); 
      de = (CalendarDay) sr.GetValue(0); 

      while (sr.NextResult()) 
      { 
       if (e.Day.Equals(de)) 
       { 
        e.Cell.BackColor = System.Drawing.Color.Yellow; 
       } 
       i++; 
       de = (CalendarDay)sr.GetValue(i); 
      } 
      sr.Close(); 
      sr.Dispose(); 
     } 
     conn.Close(); 
    } 
} 

답변

0

필자가해야한다고 생각 SQL 서버가 반환하는 형식의 BG의 색상을 변경하고 CalendarDay으로하고 경우 SQLDate을 비교하기 위해 노력하고 있어요 DateTime 형식. DateTime을 CalendarDate와 비교할 때는 CalendarDay.Date Property 속성을 사용하여 날짜를 비교해야합니다. 그래서 당신은 e.Day.Date와 데이터베이스에서 반환 된 DateTime.Date 값을 비교해야합니다. 데이터베이스는 DateTime 변수에 값을 반환해야하므로 DateTime을 DateTime과 비교할 수 있습니다.

관련 문제