In my application I am reading from one database and writing to a second. The app is quick and dirty so I am reading / writing using AsString
on both the FieldByName
and ParamByName
of the queries.
This works for all my use cases apart from where the data type is Date
or DateTime
As far as I can tell FieldByName.AsString
uses the system ShortDateTime
format to return dates as (in my case) dd/mm/yyyy. The database expects the date to be written in as yyyy-mm-dd
According to Delphi Basics I should be able to set ShortDateFormat
to what I need, but it appears that in XE5 this is no longer the case (correct?)
Further digging on here returns these two questions that use TFormatSettings
to override the local settings. However, both of these use the resulting FormatSettings in StrToDate
and FormatDateTime
directly.
So two questions
1) Can I tell my application to override the System ShortDateFormat
?
2) If so, How (I have a Plan B if not)?