프로그램에 포함된 내용
TmpDate1 := '2008-10-30 00:00:00.000';
TmpDate2 := '2008-10-30 23:59:59.999';
uDate1 := datetimetounix(Strtodatetime(TmpDate1));
uDate2 := datetimetounix(Strtodatetime(TmpDate2));
if (Id = 1) or (Id = 3) then
begin
with AutoIWQuery do
begin
Close;
SQL.Clear;
SQL.Add(' Select avg(vib) as vib1,avg(temperature1) as tmp1, Avg(RPM) as rpm1 ' +
' from tblogdata ' +
' where (centrifugeid = :a) and ((RPM > 1990) and (RPM < 2010))
and ((RECEIVEDTIME >= :b) and (RECEIVEDTIME <= :c))');
ParamByName('a').DataType := ftSmallint;
ParamByName('a').Value := id;
ParamByName('b').DataType := ftLargeint;
ParamByName('b').Value := uDate1;
ParamByName('c').DataType := ftLargeint;
ParamByName('c').Value := uDate2;
try
Open;
FetchAll;
VIB200 := FieldByName('vib1').AsFloat;
TEMP200 := FieldByName('tmp1').AsInteger;
Except On E:EDatabaseError do
begin
S := E.Message;
RollBack;
end;
end;
VIB200 = 0, TEMP200 = 0 이와 같이 나오고(오류 메세지는 발생하지 않는군요)
Query를 실행하면 각각 10.7257328888986, 12,3562 의 결과가 나옵니다.
파라미터를 사용하지 않고 직접 값을 대입해도 결과는 각각 0 , 0 이 나오는데 당최 무엇이 문제일까요?
어떤 환경적 문제 일까요?
|