2013-08-30 70 views
0

这是查询,我可以得到两个日期之间的所有记录。DATE BIND IN DROP DOWN LIST

SELECT * FROM tblBooking WHERE 
Convert(datetime,'2013-08-20 04:00:00.000') --start date 
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime 
    OR Convert(datetime,'2013-08-30 04:00:00.000') --endDate 
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime 
    or FromDateWithStartTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000') --startdate 
    AND Convert(datetime,'2013-08-30 04:00:00.000') --enddate 
    or ToDateWithEndTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000')--start date 
    AND Convert(datetime,'2013-08-30 04:00:00.000') 

和在C#我的取开始日期和结束日期。

FromDateWithStartTime = Convert.ToDateTime(dt.Rows [0] [ “FDATE”])的ToString( “YYYY/MM/DD HH:MM:SS”)。 ToDateWithEndTime = Convert.ToDateTime(dt.Rows [0] [“Edate”])。ToString(“yyyy/MM/dd” HH:mm:ss“);

我想要那些在START DATE和END DATE之间的日期。 并绑定DRP向下列表中的所有日期。 如何做到这一点。

回答

0

您可以通过与foreach循环和绑定值查询只是重复你的下拉

foreach (item in queryResults) 
{ 
    ddlDate.items.add(item); 
} 
0

您可以使用LINQ通过查询数据表(dtData)绑定下拉列表你已经填充

ddlDate.DataValueField = "date_value"; 
ddlDepartment.DataTextField = "date_value"; 
ddlDepartment.DataSource = (from row in dtData.AsEnumerable() 
        select new { date_value = row["date_Column"].ToString()}).Distinct().ToList(); 
ddlDate.DataBind(); 
0

您可以在C#中使用TimeSpan,因为您可以在这些日子之间获得差异。比如当您使用Date.Substract(AnotherDate)方法减去另一个日期时,它将返回TimeSpan。你可以得到的天数第二三天之间这样的例子:

DateTime StartDate = DateTime.Now; 
      DateTime EndDate= DateTime.Now.AddMonths(5); 
      TimeSpan DateDiff = EndDate.Subtract(StartDate); 
      int Days = DateDiff.Days; 
      string Date; 
      for (int i = 1; i <= Days; i++) 
      { 
       Date = StartDate.AddDays(double.Parse(i)); 
      } 

试试这个。