基于“的日期渲染日历”;预订;从MySQL表ASP.NETC#

基于“的日期渲染日历”;预订;从MySQL表ASP.NETC#,c#,asp.net,mysql,calendar,datareader,C#,Asp.net,Mysql,Calendar,Datareader,我正在尝试处理结果,以更改日期在ASP.NET页面日历上的显示方式。我希望这样,如果在某个特定日期进行了“预订”,那么它将在日历上显示为红色高亮单元格。 问题是我只想让它这样做一次,它突出显示一个单元格,然后不移动到下一个“BookingDate” 代码如下: conn.Open(); Reader = command.ExecuteReader(); if (Reader.Read()) {

我正在尝试处理结果,以更改日期在ASP.NET页面日历上的显示方式。我希望这样,如果在某个特定日期进行了“预订”,那么它将在日历上显示为红色高亮单元格。 问题是我只想让它这样做一次,它突出显示一个单元格,然后不移动到下一个“BookingDate”

代码如下:

conn.Open();
            Reader = command.ExecuteReader();
            if (Reader.Read())
            {
                String BookingDate = Reader.GetValue(0).ToString();
                String Username = Reader.GetValue(1).ToString();
                String Client = Reader.GetValue(2).ToString();
                Reader.Close();
                conn.Close();
                String[] bookingDetails = new String[3];
                bookingDetails[0] = BookingDate;
                bookingDetails[1] = Username;
                bookingDetails[2] = Client;

                DateTime BookingDateShort = Convert.ToDateTime(BookingDate);
                DateTime CalanderDate = Convert.ToDateTime(e.Day.Date);

                for (int i = 0; i < GetDaysinMonth(); i++)
                {
                    if (CalanderDate.ToShortDateString().Equals(BookingDateShort.ToShortDateString()))
                    {
                        e.Cell.BackColor = System.Drawing.Color.Red;
                        e.Cell.ToolTip = "Username: " + Username + " | Client: " + Client + "";
                    }
                }
            }
conn.Open();
Reader=command.ExecuteReader();
if(Reader.Read())
{
String BookingDate=Reader.GetValue(0.ToString();
字符串Username=Reader.GetValue(1.ToString();
String Client=Reader.GetValue(2.ToString();
Reader.Close();
康涅狄格州关闭();
字符串[]bookingDetails=新字符串[3];
bookingDetails[0]=预订日期;
bookingDetails[1]=用户名;
bookingDetails[2]=客户;
DateTime BookingDateShort=Convert.ToDateTime(BookingDate);
DateTime CalanderDate=Convert.ToDateTime(如Day.Date);
对于(int i=0;i
我知道我需要做一些循环,让它递归地遍历每个日期的处理过程,将其与bookingdate进行比较,并检查它们是否相等。但是,它只在一个预订日期执行此操作

有人知道我怎么解决这个问题吗


非常感谢当你阅读的时候。你期待更多的结果还是仅仅一个结果。。?因此,您需要更改以将if read更改为While循环

所以你的while循环看起来像这样

while (reader.Read())
{
  //do your processing here to check the Calendar stuff 
}

但是我得到了一个MySQL异常。“当读卡器关闭时读取的尝试无效。”我必须查看您正在使用的代码。。如果您要关闭它,则会导致。。当您将代码更改为While循环时,您可以粘贴所使用的代码吗?Dude您正在关闭读取器,请再次查看您的代码String BookingDate=reader.GetValue(0).ToString();字符串Username=Reader.GetValue(1.ToString();String Client=Reader.GetValue(2.ToString();Reader.Close();