powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / При функцию типа MONTH в запросе к методу Select для DataTable
5 сообщений из 5, страница 1 из 1
При функцию типа MONTH в запросе к методу Select для DataTable
    #38011239
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VisualStudio 2005 Pro, ADO.NET 2.0

Вот потребовалось извлечь из MyDataTable июньские записи. Даты хранятся в поле MyDate типа DateTime.
Ну, написал:

MyDataTable.Select("MONTH(MyDate)=6",......)

Запустил.
Получил в ответ: "The expression contains undefined function call MONTH()."

Что я сделал не так ?
Спасибо

PS. Поискал в MSDN перечень разрешенных функций для запросов к методу SELECT. В перечне про MONTH ни слова.
...
Рейтинг: 0 / 0
При функцию типа MONTH в запросе к методу Select для DataTable
    #38011283
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vakho, описание синтаксиса для выражения передаваемого в Select() смотри в DataColumn.Expression . Метода MONTH там нет. Чтобы отфильтровать по дате можно использовать операторы сравнения (формат даты mm/dd/yyyy):
Код: c#
1.
MyDataTable.Select("MyDate >= #6/1/2012# AND MyDate <= #6/30/2012#",......)


Если год неизвестен, то лучше будет при запросе из БД положить номер месяца в отдельную колонку и фильтровать по ней.
...
Рейтинг: 0 / 0
При функцию типа MONTH в запросе к методу Select для DataTable
    #38011309
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile... Метода MONTH там нет. ...

<:-(
...
Рейтинг: 0 / 0
При функцию типа MONTH в запросе к методу Select для DataTable
    #38011320
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
MyDataTable.Locale = new CultureInfo("ru-RU");
int month = 10;
string filter = string.Format("Convert(MyDate, 'System.String') LIKE '*.{0}.*'", month);
var rows = MyDataTable.Select(filter);
...
Рейтинг: 0 / 0
При функцию типа MONTH в запросе к методу Select для DataTable
    #38011332
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

Кстати, функции ABS там тоже нет, однако программа, в которой я ее использовал, работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / При функцию типа MONTH в запросе к методу Select для DataTable
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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