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

переменные в 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]

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



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

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



Память: 0.46 MB
Время: 0.005 c
1-66244
Андре
2002-01-03 15:15
2002.01.21
TExcelApplication


7-66374
nikkie
2001-08-09 15:52
2002.01.21
fax software


1-66227
Mis
2002-01-02 18:17
2002.01.21
Sleep


7-66368
BorisMurmansk
2001-10-01 15:29
2002.01.21
asm in/out


1-66260
Boris_M
2002-01-03 09:03
2002.01.21
Event Handler для array




   Наверх