Change
SqlDataAdapter cmd = new SqlDataAdapter("select * from calender where date= " + monthCalendar1.SelectionRange.Start , con);
to
SqlDataAdapter cmd = new SqlDataAdapter("select * from calender where date= CAST('" + monthCalendar1.SelectionRange.Start.ToString() + "' as datetime)" , con);
please refer
http://msdn.microsoft.com/en-us/library/ms187928.aspx[
^] to cast string to datetime for more parameters.
I would suggest to use parameters. You can find many samples for creating command with parameters.
Hope this helps.