Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO .NET Expression с DataTime / 7 сообщений из 7, страница 1 из 1
08.05.2009, 11:03
    #35976269
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Ситуация банальная, но что-то никак не могу найти решение...
Есть DataTable, у которого два Column типа DataTime. Необходимо добавить ещё один Column типа Decimal, в котором будет отображаться разница в днях.
Возможны ситуации, когда исходные данные типа DataTime в записи содержат Null.
...
Рейтинг: 0 / 0
08.05.2009, 11:25
    #35976318
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Basile
но что-то никак не могу найти решение...

Сдаецо мне, что даже просто вычесть даты не получится ... Хотя... Мо, попробовать покрутить CONVERT ...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.05.2009, 11:34
    #35976337
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Как говорится: "Хозяйке на заметку"
Код: plaintext
1.
2.
3.
tmpDataTable.Columns.Add("BirthDate",typeof(DateTime));
tmpDataTable.Columns.Add("NowDate",typeof(DateTime));
tmpDataTable.Columns.Add("Age",typeof(double),"NowDate-isnull(BirthDate,0)");
System.Data.EvaluateException
Cannot perform '-' operation on System.DateTime and System.DateTime

Код: plaintext
1.
2.
3.
tmpDataTable.Columns.Add("BirthDate",typeof(DateTime));
tmpDataTable.Columns.Add("NowDate",typeof(DateTime));
tmpDataTable.Columns.Add("Age",typeof(double),"convert(NowDate,'System.Double')-convert(isnull(BirthDate,0),'System.Double')");
System.InvalidCastException
Invalid cast from DateTime to Double

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.05.2009, 01:46
    #35977722
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Ex_Soft
Как говорится: "Хозяйке на заметку"
Код: plaintext
1.
2.
3.
tmpDataTable.Columns.Add("BirthDate",typeof(DateTime));
tmpDataTable.Columns.Add("NowDate",typeof(DateTime));
tmpDataTable.Columns.Add("Age",typeof(double),"NowDate-isnull(BirthDate,0)");
[quot System.Data.EvaluateException]
Cannot perform '-' operation on System.DateTime and System.DateTime

Код: plaintext
1.
2.
3.
tmpDataTable.Columns.Add("BirthDate",typeof(DateTime));
tmpDataTable.Columns.Add("NowDate",typeof(DateTime));
tmpDataTable.Columns.Add("Age",typeof(double),"convert(NowDate,'System.Double')-convert(isnull(BirthDate,0),'System.Double')");
System.InvalidCastException
Invalid cast from DateTime to Double

Что-то подобное я уже пробовал проделать и сообщения об ошибках мне знакомы :)
Потому и вопрос задаю!
Кстати, в MSDN сказано, что функция CONVERT тип DataTime может конвертировать только в String и в DataTime:
MSDN DataColumn.Expression
Все преобразования допустимы со следующими исключениями: Boolean может быть преобразован только в/из Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String и самого себя. Char может быть преобразован только в/из Int32, UInt32, String и самого себя. DateTime может быть преобразован только в/из String и самого себя. TimeSpan может быть преобразован только в/из String и самого себя.

А значит:
Код: plaintext
convert(NowDate,'System.Double')
уже ошибка
...
Рейтинг: 0 / 0
09.05.2009, 09:31
    #35977790
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Basile
DateTime

А я, если честно, тока

http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(VS.80).aspx]All conversions are valid with the following exceptions: Boolean can be coerced to and from Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String and itself only. Char can be coerced to and from Int32, UInt32, String, and itself only. DateTime can be coerced to and from String and itself only. TimeSpan can be coerced to and from String and itself only.

увидел...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.05.2009, 14:02
    #35977868
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
Ну так тоже самое, только на английском. :)
...
Рейтинг: 0 / 0
09.05.2009, 14:23
    #35977877
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO .NET Expression с DataTime
off
Ex_Soft
Basile
DateTime

А я, если честно, тока

TimeSpan can be coerced to and from String and itself only.

увидел...


_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO .NET Expression с DataTime / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]