Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.014 c
1-4290
adolf_99
2002-11-19 19:33
2002.12.02
Удаление в memo


3-4246
KonstVD
2002-11-14 13:28
2002.12.02
РАЗБИТЬ БОЛЬШУЮ ТАБЛИЦУ НА МЕНЬШИЕ


4-4675
RETAND
2002-10-21 20:10
2002.12.02
Сделать мою форму как рабочий стол Windows


4-4670
AndyDN
2002-10-21 11:10
2002.12.02
Перехват ошибок в сервисе


1-4498
$Hic0
2002-11-19 18:27
2002.12.02
Color





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский