![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с фильтром на ADOQuery. [D7, MSSQL]
Aleksandr © (2004-04-27 13:28:00)Задаю фильтр для TADOQuery = 'FCID=47 AND CTID=200' - работает.
Задаю фильтр = '(FCID=47 OR FCID=1) AND CTID=200' - ругается, что
аргументы имеют неверный тип, выходят за пределы или вступают в конфликт. Поля интежерные, если подставить это в WHERE, то все в порядке, но с перестройкой запроса нельзя работать - несколько тысяч фильтров он просто умрет переоткрывать с одного и того же датасета, а с фильтром нелады... Что ему надо?
Aleksandr (2004-04-27 14:43:00) [1]Ну да... Жаль, что у меня нет столько китайцев под рукой... В чем высший смысл программиста? Он сводится к тому, чтобы, когда компилятор говорит "Низзя!", сказать: "А нада!", и привести убедительные доводы, начиная с соболезнования мелкософту по поводу его рождения и кончая кувалдометром :)). А тут весь смысл-то и обламывается, без китайцев-то...
sniknik (2004-04-27 14:27:00) [2]знаеш как китайцы сервер пентагона взломали?
каждый ввел всего один пароль, причем половина ввела "мао цзедун", на половине от второй половины сервер пентагона согласился что пароль "мао цзедун". ;о))
Aleksandr (2004-04-27 14:22:00) [3]Пришлось распарсить... Некрасиво, конечно, когда в фильтре двести скобок, ну ладно. Теперь я понимаю, что такое сверхнастойчивость - предлагать неправильный фильтр датасету, пока он не согласится... :(
sniknik (2004-04-27 13:44:00) [4]ну так. откажись от самой идеи фильтра(в условии запроса добавь еще и эти условия) или сам задавай в OnFilterRecord.
clickmaker (2004-04-27 13:44:00) [5]Ограничения провайдера, скорей всего. Придецца распарсивать
Aleksandr (2004-04-27 13:39:00) [6]2 Johnmen: Проба выглядела так: ((FCID=47) OR (FCID=1)) AND (CTID=200). Попробовал даже согласно нотации Хелпа все с пробелами. Эффект одинаков с любыми полями.
2 sniknik: А так работает. Только это же дурдом, если мне распарсивать все фильтры придется на такое! :(
Johnmen (2004-04-27 13:36:00) [7]>Попробовал. Совершенно бесполезно.
Как выглядела проба ?
sniknik (2004-04-27 13:35:00) [8]а так?
'(FCID=47 AND CTID=200) OR (FCID=1 AND CTID=200)'
Aleksandr (2004-04-27 13:32:00) [9]Попробовал. Совершенно бесполезно.
Плохиш (2004-04-27 13:30:00) [10]Ну попробуй все равенства в скобки поставить