Вниз
Скачать: 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.014 c
1-4336
skirdov
2002-11-20 17:02
2002.12.02
Как выполнить процедуру, имя которой содержится в переменной?


14-4626
ION T
2002-11-12 22:49
2002.12.02
Число в н-ой степени


1-4487
race1
2002-11-19 17:22
2002.12.02
paskal vs. w2k


1-4303
Arkady
2002-11-21 12:49
2002.12.02
DBGrid


4-4672
KoK80
2002-10-21 14:21
2002.12.02
ICO ---> BMP (HIcon --> HBitmap)




   Наверх