![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery.Filter [D6, MSSQL]
DPetrovich © (2002-09-17 12:19:00)Подскажите, пожалуйста, почему когда я пишу
ADOQuery.Filter="not pole=0"
возникает ошибка
Аргументы имеют неверный тип, выходят за пределы доаустимого диапозона или вступают в конфликт друг с другом.,
а вот когда
ADOQuery.Filter="pole<>0",
то всё нормально?
kig (2002-09-17 16:43:00) [1]Вообше-то проще здесь посмотреть, какой синтаксис поддерживает АДО в фильтре
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprofilter.asp
DPetrovich (2002-09-17 16:40:00) [2]Это не спортивно ;)
Johnmen (2002-09-17 16:29:00) [3]Мда....
Перепробуй варианты обозначения NOT, типа !
Иначе остается только не париться иpole<>0:^))))
DPetrovich (2002-09-17 16:22:00) [4]не, все восемь вариантов перепробовал - не помогает
Johnmen (2002-09-17 15:07:00) [5]А вот безумное предложение - not большими буквами....
NOT (pole = 0)
DPetrovich (2002-09-17 14:38:00) [6]Mike Kouzmine (17.09.02 14:20)
Спасибо, но не помогает :(
Mike Kouzmine (2002-09-17 14:20:00) [7]разбиратель выражения.
Тут обнаружил:
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:14:00) [8]>>Mike Kouzmine (17.09.02 13:21)
А что такое парсер?
DPetrovich (2002-09-17 14:12:00) [9]>>Mike Kouzmine (17.09.02 13:21)
Проблема в том, что я использую dxDBGrid, который при фильтрациий генерит строку имеено в таком виде (not (pole=0)), после этого возникает ошибка, при формировании строки ручками - аналогично. Приходится переформировывать строку без not, но это как-то не спортивно...
Mike Kouzmine (2002-09-17 13:35:00) [10]Нда...
Johnmen (2002-09-17 13:29:00) [11]>Mike Kouzmine (17.09.02 13:21)
Судя по хелпу - поддерживается...:)
Почему не работает у автора - непонятно...
Mike Kouzmine (2002-09-17 13:21:00) [12]А в чем проблема-то? Пиши pole<>0. А ты уверен, что парсер поддерживает конструкцию not(pole=0)?
DPetrovich (2002-09-17 12:50:00) [13]Anatoly Podgoretsky © (17.09.02 12:46)
А я применя not не к pole, а к выражению
pole=0, которое логическое
Anatoly Podgoretsky (2002-09-17 12:46:00) [14]DPetrovich © (17.09.02 12:34)
А надо не полагать, фильтр это не SQL запрос
pole у тебя явно не логического типа и применить к нему операцию NOT нельзя
DPetrovich (2002-09-17 12:39:00) [15]>>ЮЮ © (17.09.02 12:35)
не помогает
ЮЮ (2002-09-17 12:35:00) [16]попробуй
ADOQuery.Filter="not (pole=0)"
по крайней мере в SQL
not field1 is null - ошибка,
а
not (field1 is null) работает
DPetrovich (2002-09-17 12:34:00) [17]как что? Я полагал, что то что в свойстве Filter по синтаксису такое же как после where, я ж пишу
select * from Table1 where not pole=0
также по идее и здесь должно быть...
Anatoly Podgoretsky (2002-09-17 12:23:00) [18]Ну со вторым все понятно, логично, а вот что бы значила первая конструкция?