powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / binding source filter по дате
17 сообщений из 17, страница 1 из 1
binding source filter по дате
    #38912989
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток
Помогите разобраться что не так в этом фильтре указываю...
Код: c#
1.
this.logVisitBindingSource.Filter =String.Format("CONVERT(date, datetimeLogVisit) = CONVERT(date,{0})", dateTimePicker1.Value);


выдает ошибку: Cannot interpret token '.' at position 53.
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913009
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://msdn.microsoft.com/ru-ru/library/system.data.datacolumn.expression(v=vs.110).aspx

Внимательно посмотрите на синтаксис... Convert(expression, type)
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913018
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
this.logVisitBindingSource.Filter = String.Format("CONVERT(datetimeLogVisit,date) = CONVERT({0}, date)", dateTimePicker1.Value);


исправила... но все та же ошибка... а мне надо фильтрация только по дате, без времени
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913188
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linel,
Код: c#
1.
this.logVisitBindingSource.Filter = "Convert(datetimeLogVisit, System.DateTime) = " +  String.Format(CultureInfo.InvariantCulture.DateTimeFormat,  "#{0}#", dateTimePicker1.Value); 



?
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913202
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не работает... :( возвращает нулевое количество записей :(
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913248
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linel, поставьте бряку и посмотрите ... на строку фильтра...

datetimeLogVisit - часами минутами и секундами?
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913254
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
конечно... поэтому изначальна пробовала преобразовать в дату (без времени)
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913256
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ставила breakpoint
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913271
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linel, в общем... все теперь в ваших рукерях http://www.mikebevers.be/blog/2009/06/dataview-rowfilter-with-datetime-objects/
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913279
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
thank
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913420
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все бы хорошо, но как преобразовать datetimeLogVisit в дату, без времени?
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913627
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как правильно преобразовать вот эту чать "CONVERT(datetimeLogVisit,date)" только в дату
...
Рейтинг: 0 / 0
binding source filter по дате
    #38913983
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
datetimeLogVisit >= dateTimePicker1.Value and datetimeLogVisit <= datetimeLogVisit + 24 часа Не?
...
Рейтинг: 0 / 0
binding source filter по дате
    #38914817
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как не камельфо
...
Рейтинг: 0 / 0
binding source filter по дате
    #38914947
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linel, Вы же программист - вариантов вагон... добавьте еще одну колонку в табло datetimeLogVisit Truncated и в нее пишите без ЧМС... и по ней фильтруйте...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
class Row
    {
        public int Id;
        public DateTime EventDate;
		
    }
	
static DataTable GetDataTable(Row[] rows)
        {
            DataTable table = new DataTable(); 
            table.Columns.Add("Id", typeof(Int32)); 
            table.Columns.Add("EventDate",typeof(DateTime));
            foreach (Row row in rows)
            {
                table.Rows.Add(row.Id, row.EventDate);
            }
            return (table);
        }	
		
		
static DateTime Trim(DateTime date, long roundTicks)
    {
        return new DateTime(date.Ticks - date.Ticks % roundTicks);
    }		
		
void Main()
{
			Row[] arrayRows = Enumerable.Range(1, 1000).Select(i => new Row() {Id = i, EventDate = DateTime.Now.AddMinutes((double)i)} ).ToArray();
					 								 

            DataTable dt = GetDataTable(arrayRows);	

			dt.Dump();
			
			var query = dt.AsEnumerable().Where(row => new DateTime(row.Field<DateTime>("EventDate").Ticks - row.Field<DateTime>("EventDate").Ticks % TimeSpan.TicksPerDay) == new DateTime(2015, 3, 24));

			// this.logVisitBindingSource = query.AsDataView();
				
}

...
Рейтинг: 0 / 0
binding source filter по дате
    #38915916
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:)
...
Рейтинг: 0 / 0
binding source filter по дате
    #38920678
max aka max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Linelкак правильно преобразовать вот эту чать "CONVERT(datetimeLogVisit,date)" только в дату
CONVERT(date, datetimeLogVisit, 101) -> 2015-03-27
ну и в коде следует форматировать дату в таком виде DateTimePicker1.Value.Date.ToString("y-M-d")
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / binding source filter по дате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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