我怎么能比较SQLdate和CalendarDay
问题描述:
嗨,我试图用CalendarDay如果日期匹配,我改变日历我怎么能比较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();
}
}
答
我认为应该是由SQL Server返回的格式的背景颜色比较Sqldate日期时间格式。将DateTime与CalendarDate比较时,应该使用CalendarDay.Date Property属性比较日期。因此,您应该将e.Day.Date与从数据库返回的DateTime.Date值进行比较。您的数据库应该将其值返回到DateTime变量中,以便将DateTime与DateTime进行比较。