Параметр Query типа DateTime не лезет в Ms Sql (ASP.Net 2)
От: Latunskiy  
Дата: 18.10.05 06:16
Оценка:
Привет всем,

MS Sql не желает принимать дату в формате "dd.MM.yyyy" (только "yyyy-MM-dd"). В ASP.NET 2 DetailsView выводит даты в "dd.MM.yyyy", но при этом запись в базу не проходит (SqlException ... что-то вроде: cannot convert integer to datetime...). При этом в UpdateQuery типы параметров для дат стоят DateTime.

Проблема решается заменой типа параметров дат на String и перекодированием их на выходе из DetailsView:

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

Работает, но по-моему это как-то не верно. Может ADO.NET 2 тупит с DateTime?


Спасибо за внимание
Параметр Query типа DateTime не лезет в Ms Sql (ASP.Net 2)
От: Аноним  
Дата: 18.10.05 06:36
Оценка:
У меня такая же проблемы была
Employee.DateBegin.ToString("MM/dd/yyyy")
Вот так я ее решал
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Параметр Query типа DateTime не лезет в Ms Sql (ASP.Net
От: Dezhavi Россия  
Дата: 18.10.05 07:04
Оценка:
CRA>Employee.DateBegin.ToString("MM/dd/yyyy")
Я делал по другому, со стрингой как-то мне не понравилось, кривовато смотриться, Я сделал вот таким о,разом
IFormatProvider culture = new CultureInfo("ru-RU", true);
ctrlDatePOMin.Value=new SqlDateTime(datetime,culture));
Re: Параметр Query типа DateTime не лезет в Ms Sql (ASP.Net
От: Аноним  
Дата: 18.10.05 07:19
Оценка:
Тоже круто
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Параметр Query типа DateTime не лезет в Ms Sql (ASP.N
От: Latunskiy  
Дата: 18.10.05 07:37
Оценка:
Здравствуйте, Dezhavi, Вы писали:


CRA>>Employee.DateBegin.ToString("MM/dd/yyyy")

D>Я делал по другому, со стрингой как-то мне не понравилось, кривовато смотриться, Я сделал вот таким о,разом
D>IFormatProvider culture = new CultureInfo("ru-RU", true);
D>ctrlDatePOMin.Value=new SqlDateTime(datetime,culture));

Хм, а что то у меня нет у SqlDateTime конструктора, что-бы мог принимать culture (VS2003 и VS2005 beta). Может имелся ввиду какой-то другой класс?
Re[3]: Параметр Query типа DateTime не лезет в Ms Sql (ASP.N
От: Dezhavi Россия  
Дата: 18.10.05 07:52
Оценка:
Здравствуйте, Latunskiy, Вы писали:

L>Здравствуйте, Dezhavi, Вы писали:



CRA>>>Employee.DateBegin.ToString("MM/dd/yyyy")

D>>Я делал по другому, со стрингой как-то мне не понравилось, кривовато смотриться, Я сделал вот таким о,разом
D>>IFormatProvider culture = new CultureInfo("ru-RU", true);
D>>ctrlDatePOMin.Value=new SqlDateTime(datetime,culture));

L>Хм, а что то у меня нет у SqlDateTime конструктора, что-бы мог принимать culture (VS2003 и VS2005 beta). Может имелся ввиду какой-то другой класс?

Да, несколько не так, вот так
IFormatProvider culture = new CultureInfo("ru-RU", true);
ctrlDatePOMin.Value=new SqlDateTime(DateTime.Parse(datetime.ToString(),culture));
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.