Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.07;
Скачать: CL | DM;

Вниз

ADOQuery.Filter   Найти похожие ветки 

 
DPetrovich ©   (2002-09-17 12:19) [0]

Подскажите, пожалуйста, почему когда я пишу
ADOQuery.Filter="not pole=0"
возникает ошибка
Аргументы имеют неверный тип, выходят за пределы доаустимого диапозона или вступают в конфликт друг с другом.,
а вот когда
ADOQuery.Filter="pole<>0",
то всё нормально?


 
Anatoly Podgoretsky ©   (2002-09-17 12:23) [1]

Ну со вторым все понятно, логично, а вот что бы значила первая конструкция?


 
DPetrovich ©   (2002-09-17 12:34) [2]

как что? Я полагал, что то что в свойстве Filter по синтаксису такое же как после where, я ж пишу
select * from Table1 where not pole=0
также по идее и здесь должно быть...


 
ЮЮ ©   (2002-09-17 12:35) [3]

попробуй
ADOQuery.Filter="not (pole=0)"
по крайней мере в SQL
not field1 is null - ошибка,
а
not (field1 is null) работает


 
DPetrovich ©   (2002-09-17 12:39) [4]

>>ЮЮ © (17.09.02 12:35)
не помогает


 
Anatoly Podgoretsky ©   (2002-09-17 12:46) [5]

DPetrovich © (17.09.02 12:34)
А надо не полагать, фильтр это не SQL запрос
pole у тебя явно не логического типа и применить к нему операцию NOT нельзя


 
DPetrovich ©   (2002-09-17 12:50) [6]

Anatoly Podgoretsky © (17.09.02 12:46)
А я применя not не к pole, а к выражению
pole=0, которое логическое


 
Mike Kouzmine   (2002-09-17 13:21) [7]

А в чем проблема-то? Пиши pole<>0. А ты уверен, что парсер поддерживает конструкцию not(pole=0)?


 
Johnmen ©   (2002-09-17 13:29) [8]

>Mike Kouzmine (17.09.02 13:21)

Судя по хелпу - поддерживается...:)
Почему не работает у автора - непонятно...


 
Mike Kouzmine   (2002-09-17 13:35) [9]

Нда...


 
DPetrovich ©   (2002-09-17 14:12) [10]

>>Mike Kouzmine (17.09.02 13:21)
Проблема в том, что я использую dxDBGrid, который при фильтрациий генерит строку имеено в таком виде (not (pole=0)), после этого возникает ошибка, при формировании строки ручками - аналогично. Приходится переформировывать строку без not, но это как-то не спортивно...


 
DPetrovich ©   (2002-09-17 14:14) [11]

>>Mike Kouzmine (17.09.02 13:21)
А что такое парсер?


 
Mike Kouzmine   (2002-09-17 14:20) [12]

разбиратель выражения.
Тут обнаружил:
include a space between comparison values and comparison operators in filter expressions. For instance, ensure that there is a space after the field name and before the operator.
Может из-за этого


 
DPetrovich ©   (2002-09-17 14:38) [13]

Mike Kouzmine (17.09.02 14:20)
Спасибо, но не помогает :(


 
Johnmen ©   (2002-09-17 15:07) [14]

А вот безумное предложение - not большими буквами....
NOT (pole = 0)


 
DPetrovich ©   (2002-09-17 16:22) [15]

не, все восемь вариантов перепробовал - не помогает


 
Johnmen ©   (2002-09-17 16:29) [16]

Мда....
Перепробуй варианты обозначения NOT, типа !
Иначе остается только не париться и pole<>0 :^))))


 
DPetrovich ©   (2002-09-17 16:40) [17]

Это не спортивно ;)


 
kig ©   (2002-09-17 16:43) [18]

Вообше-то проще здесь посмотреть, какой синтаксис поддерживает АДО в фильтре
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprofilter.asp



Страницы: 1 вся ветка

Текущий архив: 2002.10.07;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
4-21327
cdaDmitriy
2002-08-15 15:11
2002.10.07
TRAY


1-21057
Корнейчук Михаил
2002-09-24 15:16
2002.10.07
RTF->HTML


3-20915
Sergey-ZZZ
2002-09-17 14:12
2002.10.07
MSSQL2000


4-21343
RealDummy
2002-08-22 02:51
2002.10.07
Как ставить хук на минимизацию чужого окна?


14-21239
LEgO-2
2002-09-12 00:51
2002.10.07
Delphi7!!!