MS SQL - задание формата даты
От: Latunskiy  
Дата: 18.10.05 03:52
Оценка:
Привет всем,

Подскажите, pls, где подкрутить MS Sql что-бы изменить формат даты с "yyyy-MM-dd" на "dd.MM.yyyy".

Пробовал SET DATEFORMAT dmy, SET LANGUAGE 'Russian' — на выводимые данные не влияет.

Проблема проявляется при редактировании дат в приложении на ASP.NET v2: в поле редактирования дата локализуется в формат "dd.MM.yyyy", но при записи даты в таком формате в базу происходит ошибка. Если задать дату в формате "yyyy-MM-dd", то всё работает.


Спасибо за внимание
Re: MS SQL - задание формата даты
От: tpg Россия http://www.sql.ru/
Дата: 18.10.05 03:56
Оценка:
Здравствуйте, Latunskiy, Вы писали:


L>Привет всем,


L>Подскажите, pls, где подкрутить MS Sql что-бы изменить формат даты с "yyyy-MM-dd" на "dd.MM.yyyy".


L>Пробовал SET DATEFORMAT dmy, SET LANGUAGE 'Russian' — на выводимые данные не влияет.


L>Проблема проявляется при редактировании дат в приложении на ASP.NET v2: в поле редактирования дата локализуется в формат "dd.MM.yyyy", но при записи даты в таком формате в базу происходит ошибка. Если задать дату в формате "yyyy-MM-dd", то всё работает.



L>Спасибо за внимание


Для записи надо использовать "универсальные" способы текстового представления даты http://www.sql.ru/faq/faq_topic.aspx?fid=109
Re[2]: MS SQL - задание формата даты
От: Latunskiy  
Дата: 18.10.05 06:01
Оценка:
Здравствуйте, tpg, Вы писали:

tpg>Для записи надо использовать "универсальные" способы текстового представления даты http://www.sql.ru/faq/faq_topic.aspx?fid=109



Спасибо за ссылку — теперь понятно, что по части Ms Sql, что-то подстроить не удастся, но похоже, что-это ADO.NET 2 тупит: параметры запроса были как DateTime и он пихал из в Sql не в том формате. А если сделать их строковыми, перехватывать запись и перекодировать — то всё работает:

protected void dvEditAppendix_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
e.NewValues["BeginDate"] = DateTime.Parse(e.NewValues["BeginDate"].ToString()).ToString("yyyy-MM-dd");
e.NewValues["EndDate"] = DateTime.Parse(e.NewValues["EndDate"].ToString()).ToString("yyyy-MM-dd");
}


Ok, пойду к .NET-овцам выяснять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.