![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с составлением фильтра [D6, Win2k]
dreamse © (2005-10-17 15:33:00)Сеть поля name и поле data_nashala
Вот фильтр :
bd_data.Filter:='kanal = '+''''+dm.bd_kanal.fieldbyname('name').AsString+''''+' and data_nashala >= '+''''+datetostr(dat1)+''''+' and data_nashala <= ' + ''''+datetostr(dat2)+'''';
Ставишь даты в dat1 : 17.10.2005 и dat2 18.10.2005 он в итоге выдаёт список с датой 18.09.2005
В чём может быть ошибка в фильтре ?
dremase (2005-10-18 10:09:00) [1]Скорей всего дата воспринимаеться как текст и не обрабатываються символы > и <
Как быть ?
dremase (2005-10-18 09:46:00) [2]Нет , не фига не получаеться :(
В чём может быть ошибка фильтра :
kanal = 'ADULT CHANNEL' and data_nashala >= '01.10.2006' and data_nashala <= '02.10.2006'
Он выводит в итоге данные и за 3 и 4 число
dremase (2005-10-18 09:14:00) [3]Нашёл причину ! помещаю dat1 и дат 2 между '' таким образом фильтр думает что это текст
Rianon (2005-10-17 23:43:00) [4]1. Вместо такого кол-ва ''''' пользуйся QuotedStr()
2. порядок день.месяц.год компа не совпадает с порядком день.месяц.год БД
работая с МС SQL Server встречал такое но обычно для такого типа фильтров я царапаю свою процедуру типа сборщика запроса т.к. есть мнение что SQL Server плохо понимает такого типа фильтка например вообще не врубается в конструкции типа in может проблема тут.
dremase (2005-10-17 15:48:00) [5]В том то и дело что есть , но фильтр неправельно обрабатываеться , возможно потому что 2 раза в фильтре данные :
data_nashala >= '+''''+datetostr(dat1)+''''+' and data_nashala <= ' + ''''+datetostr(dat2)+''''
Может из за этого глюк ?
TUser (2005-10-17 15:42:00) [6]А азписи с нужным именем канала и датой на shала есть?