请问建立将两个日期间的清单,这段代码哪错了?没分了,大家看看也行... StartDate:=2007-01-01; 
    
    while StartDate=2007-12-31  do
    begin
        StartDate:=IncDay(StartDate,1);   //取日期
        WeekName:=DateToWeek(DayOfTheWeek(StartDate));  //取星期
        CnDay:=CnDayOfDateJr(StartDate);      //取节日
        ExeSql('Insert into WorkDay(考勤年月,班次名称,日期,星期,状态)values('''+DBEdit12.Text+''','''+DBEdit1.Text+''','''+DateToStr(StartDate)+''','''+WeekName+''','''+CnDay+''') ');
    end;

解决方案 »

  1.   

    uses DateUtils;procedure TForm1.Button1Click(Sender: TObject);//求两日期之间的天数
    var
      D1, D2 : TDateTime;
      Days : integer;
    begin
      D1 := VarToDateTime('2005-1-15');
      D2 := VarToDateTime('2007-1-28');
      Days := DaysBetween(D1,D2);//简单地利用Delphi自带的DaysBetween函数就可以了
      showmessage(IntToStr(Days));
    end;procedure TForm1.Button2Click(Sender: TObject);//从日期D1开始循环,直到D2
    var
      D1, D2 : TDateTime;
    begin
      D1 := VarToDateTime('2005-1-15');
      D2 := VarToDateTime('2007-1-28');
      while D1 <> D2 do
        begin
        { Do SomeThing }//在这里做你要做的事
        D1 := IncDay(D1,1);//D1每循环一次加一天,直到与D2相等,就退出循环
        end;//IncDay也是Delphi自带的函数
    end;