Вниз
Скачать: CL | DM;

AND и OR при параметрич.запросе   Найти похожие ветки 

← →
PKT   (2002-11-15 05:53) [0]

SELECT * FROM Data.db WHERE
(Num = :Num1) AND (Num = :Num2)

Далее
Params[0].AsInteger := 1;
Params[1].AsInteger := 1;
Проходит нормально, причем неважно, какие значения
присваиваются.

Но если поставить "ИЛИ"
SELECT * FROM Data.db WHERE
(Num = :Num1) OR (Num = :Num2)

то вываливается
Access violation at address 4C5F30C9 in module "idsql32.dll".

Неужто нельзя использовать OR при обращении через параметры
к одному и тому же полю дважды ?


← →
sniknik ©   (2002-11-15 09:53) [1]

странно должно работать (неохота проверять)
попробуй так
SELECT * FROM Data.db WHERE Num IN (:Num1, :Num2)


← →
Котелок ©   (2002-11-15 09:55) [2]

Поробуй через parambyname заполнять.


← →
sniknik ©   (2002-11-15 10:23) [3]

да уж забавное свойство BDE параметров (проверил всетаки), вставка значения в текст такого запроса работает, а с параметрами Access violation.


← →
oss ©   (2002-11-15 10:25) [4]

1. попробую
SELECT * FROM Data.db WHERE
((Num = :Num1) OR (Num = :Num2))
2. сделай переменную "SELECT * FROM Data.db %s"
потом по надобности испольуй Format и заноси все что душе угодно.




← →
PKT   (2002-11-15 10:30) [5]

to: sniknik © (15.11.02 09:53)
Предиката IN не прокатывает в параметр.запросах, это я на
форуме уяснил.

to:Котелок © (15.11.02 09:55)
Имелось в виду ParamValues ? Все равно ошибка вываливается.

Что интересно, если добавить
SELECT * FROM Data.db WHERE
(Num = :Num1) OR (Num = :Num2)
AND (Num < ЗаведомоБольшоеЧисло)
то все работает


← →
sniknik ©   (2002-11-15 10:43) [6]

так тоже работает
WHERE NOT ((Num<>:Num1) AND (Num<>:Num2))
проще конечно в запрос значение вставить без параметра текстом.
(замазывание проблемы)


← →
PKT   (2002-11-15 10:50) [7]

to: sniknik © (15.11.02 10:43)
Спасибо, пожалуй так и сделаю.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
8-4513
Александр456
2002-08-15 10:11
2002.12.02
ImageList


14-4606
Zhirnov Maxim
2002-11-12 16:12
2002.12.02
Помогите с Installer om


1-4340
wam
2002-11-22 03:49
2002.12.02
Polybezier по многим точкам


14-4631
Anar
2002-11-11 21:31
2002.12.02
Вопрос по Outlook Express


1-4369
krypt
2002-11-21 11:46
2002.12.02
!!!




   Наверх