Преобразование в желаемый формат даты перед отправкой в ​​параметр хранимой процедуры - PullRequest
0 голосов
/ 05 ноября 2011

В TextBox пользователь вводит дату в формате дд / мм / гггг.Я отправляю это значение хранимой процедуре как:

cmd.Parameters.AddWithValue("@myDate", Convert.ToDateTime(txtMyDate.Text));

Параметр хранимой процедуры имеет тип SmallDateTime.Я хочу передать указанное выше значение кода в формате дд / мм / гггг.Как указать формат в приведенном выше коде, чтобы SQL Server сохранял даты в формате дд / мм / гггг?

1 Ответ

3 голосов
/ 05 ноября 2011

То, что вы описываете, немного сбивает с толку:

Если параметром хранимой процедуры действительно является SmallDataTime, то он по своей сути не имеет формата.txtMyDate.Text кажется строкой и, следовательно, имеет формат даты ... вы можете быть дружественным к локализации и сохранять свой код таким, какой он есть - по крайней мере, в обычном настольном приложении это будет учитывать настройки системы для формата даты.Другим вариантом является явное жесткое кодирование формата таким образом, чтобы пользовательский ввод был в этом конкретном формате ... это можно сделать с помощью DateTime.ParseExact ( txtMyDate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture ).

ссылок MSDN:

...