День добрый, пытаюсь выполнить простенький SQL скрипт в коде:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
dt1, dt2 : TDateTime;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add ('select SMCardSecurityLog.username as Оператор, Count(DISTINCT SMCardSecurityLog.article)AS Количество from SMCardSecurityLog where actioncode= :docstate and (eventtime between :date1 AND :date2) group by username');
dt1 := Trunc(DateTimePicker1.Date);
dt2 := Trunc(DateTimePicker2.Date);
ADOQuery1.Parameters.ParamByName('date1').Value:= dt1;
ADOQuery1.Parameters.ParamByName('date2').Value:= dt2;
ADOQuery1.Parameters.ParamByName('docstate').Value:=3;
ADOQuery1.Open;
end;
end.
В результате столбец "Количество" пустой, если делать запрос:
Код:
select * from SMCardSecurityLog
т.е без использования агрегатных функций SQL, запрос отрабатывает на отлично, но не так как надо