Catch date/time conversion errors in GetDateTimeValue, which happen e.g. when passing an empty date.

This commit is contained in:
Ansgar Becker
2014-07-26 14:14:38 +00:00
parent 956ea205eb
commit 07bdeea79f

View File

@ -3597,16 +3597,21 @@ begin
// Return date/time string value as expected by server // Return date/time string value as expected by server
case Parameters.NetTypeGroup of case Parameters.NetTypeGroup of
ngMSSQL: begin ngMSSQL: begin
dt := StrToDateTime(Input); try
case Datatype of dt := StrToDateTime(Input);
dtDate: case Datatype of
Result := SysUtils.FormatDateTime('dd"/"mm"/"yyyy', dt); dtDate:
dtTime: Result := SysUtils.FormatDateTime('dd"/"mm"/"yyyy', dt);
Result := SysUtils.FormatDateTime('hh":"nn":"ss', dt); dtTime:
dtYear: Result := SysUtils.FormatDateTime('hh":"nn":"ss', dt);
Result := SysUtils.FormatDateTime('yyyy', dt); dtYear:
dtDatetime: Result := SysUtils.FormatDateTime('yyyy', dt);
Result := SysUtils.FormatDateTime('dd"/"mm"/"yyyy hh":"nn":"ss', dt); dtDatetime:
Result := SysUtils.FormatDateTime('dd"/"mm"/"yyyy hh":"nn":"ss', dt);
end;
except
on E:EConvertError do
Result := Input;
end; end;
end; end;
else else