Правила ввода даты

Dmitry S. Kravchenko

Привет!1) Я на клиенте составляю динамические SQL-запросы, в которых использую константную дату-время. В случае с языком SQL от MS Access есть строгое правило - дата записывается в решетках, в виде mm/dd/yyyy hh:mm:ss. А как обстоит дело с SQL сервер? Читая справку, я не нашел строгого алгоритма интерпретации даты. Создается впечатление, что SQL сервер сам пытается догадаться, в каком формате подана дата. Многолетний опыт не дает мне спокойно доверяться программе, которая что-то делате "сама", тем более, если это программа фирмы Microsoft. Что же делать? Быть может, формат даты устанавливается при настройках базы? Или, формат определяется локалем клиента?Рекомендации из справки, где предлагается всегда пользоваться функцией CONVERT - меня не устраивают, так как дату в форме CONVERT нельзя подставить в произвольное место.Всегда ли работает запись 'yyyymmdd hh:mm:ss', которую я использую?2) При запуске процедуры с параметрами кто-то, видимо ADO, запрашивает эти параметры в специальном диалоговом окне. Как вводить дату туда? Единого решения для этого случая я пока вообще не нашел...Димс.
2 ответа

Dmitry S. Kravchenko


Dmitry S. Kravchenko

При запуске процедуры с параметрами кто-то, видимо ADO, запрашивает эти параметры в специальном диалоговом окне
Set cn = New Connection
cn.Provider = "SQLOLEDB"
cn.Properties("Prompt") = adPromptNever 'do not prompt the user
Как вводить дату туда?
Возможно это зависит от системных настроек клиента..Правильней мне кажется делать это в клиентской программе самому и потом уже указывать явно параметры..