Странное поведение between (PascalScript)

Раздел: FastScript

Доброго времени суток. Странным образом ведет себя between в FastScript (либо я чего намудрил 🙂).


Собственно имеется код:

var
 BegDate : TDateTime;
 EndDate : TDateTime;    
  
procedure ReportOnStartReport(Sender: TfrxComponent);
begin
 DateEdit1.Date := Now;
 DateEdit2.Date := Now;
end;

procedure Button1OnClick(Sender: TfrxComponent);
var 
 s : string;            
begin
 Set('FilterPeriod', '''' + 'Период: ' + FormatDateTime('dd.mm.yyyy', DateEdit1.Date) + ' - ' + FormatDateTime('dd.mm.yyyy', DateEdit2.Date) + '''');

 BegDate := StrToDateTime(Copy(DatetimeToStr(DateEdit1.Date), 1, 10) + ' 00:00:00');
 EndDate := StrToDateTime(Copy(DatetimeToStr(DateEdit2.Date), 1, 10) + ' 23:59:59');    

// ShowMessage(BegDate < EndDate);                       
 s := 'select'#13 +
    ' u.*, s.*, st.name as statname'#13 +       
    'from'#13 +        
    ' user u, sdmsg s, sdstatus st'#13 +        
    'where'#13 +
    ' u.userid = s.usermsgid and'#13 +
    ' (s.datemsg between :p1 and :p2) and'#13 +
    ' s.statusid = st.statusid and'#13 +              
    ' u.depwpid in'#13 +       
    ' ('#13 +       
    ' select'#13 +       
    '  d.parentid'#13 +       
    ' from'#13 +          
    '  tmpdepartm t'#13 +       
    ' inner join departm d on (t.depwpid = d.depwpid)'#13 +       
    ' )'#13 +             
   'order by u.name, s.sdmsgid, s.sdlistid';
                           
 with ADOQuery1 do 
 begin
  Close;
  SQL.Text := s;
                  
  with Params.Items[0] do
  begin
   DataType := ftDateTime;
   Value := BegDate;                       
  end;
    
  with Params.Items[1] do
  begin
   DataType := ftDateTime;
   Value := EndDate;
  end;
                       
  Open;
 end;     
end;

begin

end.

Фильтрую по дате 10.06.2020 - 10.06.2020. Отчет возвращается пустой (хотя нужные записи есть)

Фильтрую по дате 09.06.2020 - 09.06.2020. Отчет возвращается пустой (хотя нужные записи есть)

Если установить фильтр 09.06.2020 - 10.06.2020. Отчет формируется корректно, записи есть. Укажите, где я перемудрил? Вроде с DateTime все корректно сделал.

Спасибо!

Комментарии

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.