Доброго времени суток!
Столкнулся с проблемой региональных настроек при работе с датами в следующей ситуации:
Приложение работает с базой MS SQL 2008. Для отладки использую базу, установленную на своей машине, рабочая (боевая) база находится на удаленной рабочей станции.
Загвоздка в том, что 2 базы (локальная и удаленная) по-разному интерпретируют даты в БД. Если в контроле выбрать дату 01.05.2011 - в локальной базе это будет 2011-05-01 (1 мая), а при работе с удаленной - 2011-01-05 (5 января).
DM.ADOConnection.Execute('UPDATE WorkProject SET WorkBeginReal = '''+ DateToStr(AWorkBegin) +''' WHERE IDWorkProject = ' + IntToStr(FieldByName('IDWorkProject').asInteger));
При работе с удаленной базой, попытка указать дату 13.01.2011 заканчивается ошибкой "conversion failed when converting date and/or time from character string", мол нет в природе 13 месяца. На локальной базе такой проблемы не возникает.
Буду благодарен за помощь.