图1为输入会议的基本信息,图2是显示预定结果的gridview,选择calender控件中的日期,自动填充到Textbox1,选择开始时间T1和结束时间T2,结束时间必须大于开始时间,预定日期,预定部门(DropDownList3)和开始时间T1(DropDownList1),结束时间T2(DropDownList2)为必填项,点击"提交预定"后,如图2所示先将日期写入第一列”预定日期中“,所有同一日期的预定信息都写在同一行中,将预定部门和会议时间写入这个时间段所对应的的datagridview的单元格中,可以每个单元格中都写入相同的数据而不是像图中那样合成一个大格子,并将这些单元格显示为红色,如果这段时间内已经有单元格有数据,则该预定不能成功提交.
现在的问题在于,如何将开始时间T1的值以及结束时间T2的值,与数据库中的列名经行匹配,类似于:
首先查询表Table1中第一列”预定日期date1“的值与输入的”预定日期Textbox1“值相同的行
然后获取该行中所有列的列名
if(date1==Textbox1,T1>=某列名<=T2)
{
这一行某列名所对应的列的值(该行某单元格的值)=+“(预定部门)DropDownList3.Text","(开始时间T1)DropDownList1.Text","(结束时间)T2DropDownList2.Text"//
我不知道该如何获取数据库表中的列名,而且列名和起止时间的字段都是时间型的,不知如何比大小,同时对于单元格中已有数据的情况也不知道该如何排除,希望能给出实现这一功能的详细代码,分全部给你

解决方案 »

  1.   

    refer:
    http://www.cnblogs.com/insus/archive/2011/08/27/2155286.html
      

  2.   

    你应该算出当周开始日期与结束日期,或是当月的开始日期与结束日期:... AND ([BookingDate] IS NULL OR [BookingDate] BETWEEN '开始日期' and '结束日期')
      

  3.   

    gridview里默认是显示系统当前时间所在周,周一到周五的预定信息,或者是输入日期查询该日期的预定信息。
    当周开始日期和结束日期是一直变化的,能根据当前的系统时间计算当周的开始日期和结束日期吗
      

  4.   

    这里有个周函数:
    http://www.cnblogs.com/insus/articles/1622988.htmlhttp://www.cnblogs.com/insus/archive/2009/07/30/1535448.html
      

  5.   


    周函数在sql中执行成功了,怎么把这个函数应用在周预定报表的制作上呢
      

  6.   

    嗯,好样的下面是计算出当前周的开始日期与结束日期:DECLARE @Y INT = YEAR(CURRENT_TIMESTAMP)
    DECLARE @sD DATE, @eD DATE
    SELECT @sD = [StartDate],@eD = [EndDate] FROM [dbo].[udf_Week](@Y,@Y)  WHERE CAST(CURRENT_TIMESTAMP AS DATE) BETWEEN [StartDate] and [EndDate] 
      

  7.   

    Refer this:
    http://www.cnblogs.com/insus/archive/2011/01/14/1935867.html有一个函数,可以把一周之中任意一天,作为一周开始之日。