Форум: "Базы";
Поиск по всему сайту: 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.72 MB
Время: 0.027 c
7-66382           Dmitri                2001-10-02 09:03  2002.01.21  
Попробуем запрограммировать сканер


1-66253           AndreyK               2001-12-30 17:32  2002.01.21  
Помогите с формой


3-66215           Laimer                2001-12-18 11:42  2002.01.21  
TTable


4-66400           Olgerd                2001-11-21 20:36  2002.01.21  
Не совсем понятно


6-66323           Redalert              2001-10-26 16:58  2002.01.21  
сокет