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




Вниз

переменные в sql в mssql?? 


ol   (2001-12-18 10:01) [0]

Подскажите правильно ли определяю переменные

where s.dat_tek between @d1 and @d2 and
s.subdivid=@podr
если да то как их потом прописать в компоненте(использую ADOQuery1),в оракле все гораздо проще, он сам их находит,
а тут что нужно руками прописывать в parameters?
пробовал прописать d1,d2,podr - ругается



SergSuper   (2001-12-18 10:18) [1]

Вы путаете переменные сервера и параметры
Первые существуют только на сервере, вторые заполнются клиентской частью перед отсылкой запроса.
Если Вы напишите
where s.dat_tek between :d1 and :d2 and
s.subdivid=:podr
то "он сам их найдёт"



handra   (2001-12-18 10:23) [2]

Параметры в TADOQuery прописывают примерно так:
where s.dat_tek between :d1 and :d2 and s.subdivid=:podr
Есть одна тонкость! Параметры с одинаковыми именами по ParamByName не устанавливаются все (только первый из них), т.е конструкция %
where s.date_tek=:d1 or :d1 is null
по ParamByName не заработает, я делаю так:
declare @d1 datetime
set @d1=:d1
...
where s.date_tek=@d1 or @d1 is null
в этом случае нужно указать типы параметров вручную, а если используется динамически созданный TADOQuery, то вызывать Parameters.ParseSQL и для параметров со значением NULL вручную указывать тип данных



ol   (2001-12-18 11:43) [3]

>Если Вы напишите
>where s.dat_tek between :d1 and :d2 and
> s.subdivid=:podr
Так я уже пробовал
выдается ошибка
Line 43: Incorrect syntax near ":".



Delirium   (2001-12-18 11:46) [4]


....
where (s.dat_tek between :d1 and :d2 ) and
( s.subdivid=:podr )



ol   (2001-12-18 11:55) [5]

>where (s.dat_tek between :d1 and :d2 ) and
>( s.subdivid=:podr )
Line 43: Incorrect syntax near ":".



Delirium   (2001-12-18 12:40) [6]

Попробуй вставить пробелы перед ":" и после параметров, хотя у меня всё и так работает.




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




Наверх





Память: 0.73 MB
Время: 0.022 c
1-66270           Andrey Sharapow       2001-12-30 10:53  2002.01.21  
Build with runtime packages ???


1-66230           Savig                 2001-12-27 16:40  2002.01.21  
D5 под Win2K


7-66386           Nostradamus           2001-06-15 18:52  2002.01.21  
Lovushka


3-66191           Гоша                  2001-12-13 19:00  2002.01.21  
Delete from master-detail via stored procedure


7-66372           artog                 2001-10-04 07:56  2002.01.21  
Не могу получить от таймера интервал 20 мс