|
|
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
Пытаюсь фильтровать данные в BindingSource.Filter. Суть проблемы в том, что не получается "Оторвать" от даты в базе и сравнить с чем-то внешним. Ищу решение примерно следующего синтаксиса: BindingSource.Filter = "Year([DataBaseField]) = " + TextBox.Text; Использую C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 15:05 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
ioannovПытаюсь фильтровать данные в BindingSource.Filter. Суть проблемы в том, что не получается "Оторвать" от даты в базе и сравнить с чем-то внешним. Ищу решение примерно следующего синтаксиса: BindingSource.Filter = "Year([DataBaseField]) = " + TextBox.Text; Использую C# а в селекте каст использовать и возвращать примеров много найдешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2010, 16:22 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
=NIk=ioannovПытаюсь фильтровать данные в BindingSource.Filter. Суть проблемы в том, что не получается "Оторвать" от даты в базе и сравнить с чем-то внешним. Ищу решение примерно следующего синтаксиса: BindingSource.Filter = "Year([DataBaseField]) = " + TextBox.Text; Использую C# а в селекте каст использовать и возвращать примеров много найдешь. К сожалению я не уверен, что понял Вас. Я разрешил вопрос, заранее подготовив дополнительный столбец в БД, но мне кажется, что было бы правильней использовать какие-то возможности в Filter и просто получить из даты необходимый мне кусок с даты. Таким бы образом обработка происходила на стороне клиента и уменьшился бы трафик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2010, 18:04 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
ioannov...Таким бы образом обработка происходила на стороне клиента и уменьшился бы трафик. Создавая столбец и получая на клиенте (!)все данные, а потом их фильтруя Вы не уменьшаете трафик, а очень существенно его увеличиваете. Так делать нельзя. Фильтруйте всё в запросе. Смотрите datepart для MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2010, 18:16 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
ioannov =NIk= а в селекте каст использовать и возвращать примеров много найдешь. К сожалению я не уверен, что понял Вас. Я разрешил вопрос, заранее подготовив дополнительный столбец в БД, но мне кажется, что было бы правильней использовать какие-то возможности в Filter и просто получить из даты необходимый мне кусок с даты. Таким бы образом обработка происходила на стороне клиента и уменьшился бы трафик. cast(EXTRACT(MINUTE FROM ts.srvtime) as integer) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2010, 19:11 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
ShSergedatepart Я пользуюсь Oracle и отделял год через to_char : Код: plaintext Вероятно не правильно выразился и понят был не так. Да, то что загружать все данные, а после их фильтровать не является лучшим вариантом я абсолютно согласен. Но в тоже время, если у меня данные фильтруются во время ввода в строку поиска, постоянно подавать запросы в БД - тоже не выход. Насколько мне известно, то BindingSource самостоятельно кеширует данные и в состоянии в той или иной грамотной мере принять решение когда нужно подгрузить часть данных, а когда воспользоваться теми, что уже были кешированы. Потому и был проявлен интерес к реализации задуманного через Filter в BindingSource. Во всяком случае посмотреть на результат и принять решение. =NIk= cast(EXTRACT(MINUTE "говорит" таких команд нет в Filter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2010, 00:52 |
|
||
|
C#. BindingSource.Filter взять от значения БД часть даты (Год, месяц или день) и сравнить
|
|||
|---|---|---|---|
|
#18+
ioannov, сast(EXTRACT(MINUTE FROM ts.srvtime) as integer) as Filter это в запрос. Насколько мне известно, то BindingSource самостоятельно кеширует данные и в состоянии в той или иной грамотной мере принять решение когда нужно подгрузить часть данных, а когда воспользоваться теми, что уже были кешированы. Потому и был проявлен интерес к реализации задуманного через Filter в BindingSource. Во всяком случае посмотреть на результат и принять решение. сделать калькулирующие поле нельзя, по которому потом фильтровать, Filter? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2010, 10:06 |
|
||
|
|

start [/forum/search_topic.php?author=evs-ru&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 641ms |
| total: | 810ms |

| 0 / 0 |
