Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

Передача параметра в TIBSQL   Найти похожие ветки 

 
Жук ©   (2003-12-18 13:53) [0]

Запрос :
select *
from table1
where field1 in (:param)

Можно ли передать в :param массив целых чисел ?


 
MV   (2003-12-18 13:54) [1]

Нет


 
JibSkeart ©   (2003-12-18 13:56) [2]

А если ввиде строки ?


 
MV   (2003-12-18 13:59) [3]

Да


 
Жук ©   (2003-12-18 14:00) [4]


> MV (18.12.03 13:59) [3]

Что "да" ?
В виде строки, это понятно, а вот, как параметр...


 
JibSkeart ©   (2003-12-18 14:09) [5]

ну если пофантазировать :)

....Value := "1,2,3,4";
в любом случае параметр нужно будет формировать :)


 
MV   (2003-12-18 14:14) [6]

Только динамически формирвать SQL - строку, типа
var
if Str_Orders_Id : string;
...
if Str_Orders_Id := "";

if Length(Param) > 1500 then begin
// Ограничение парсера на сервере
ShowMessage("Ограничение: должно быть выбрано не более "+
#10+"1500 записей! Попробуйте выполнить экспортирование частями.");
exit;
end;

for I := Low(Param) to High(Param) do begin if Str_Orders_Id <> "" then
Str_Orders_Id := Str_Orders_Id + ",";
Str_Orders_Id := Str_Orders_Id + param[i];
end;
MyQuery.SQL.Text := Format("select * from MyTable where id in """" %s """"", [Str_Orders_Id]);

end;


 
MV   (2003-12-18 14:24) [7]

Вай, что-то я неудачно кусок кода из проги выдрал. Сейчас поправлю:

var
Str_Orders_Id : string;
...
Str_Orders_Id := "";

if Length(Param) > 1500 then begin
// Ограничение парсера на сервере
ShowMessage("Ограничение: должно быть выбрано не более "+
#10+"1500 записей!");
exit;
end;

for I := Low(Param) to High(Param) do
if Str_Orders_Id <> "" then
Str_Orders_Id := Str_Orders_Id + ",";
Str_Orders_Id := Str_Orders_Id + param[i];
end;
MyQuery.SQL.Text := Format("select * from MyTable where id in """" %s """"", [Str_Orders_Id]);

end;


 
Жук ©   (2003-12-18 14:26) [8]

:-)))
Так я тоже умею...


 
MV   (2003-12-18 14:47) [9]

Предлагаю передавать строку в сторед процедуру, используя новую фичу FB1.5 - динамические запросы. Хотя без разницы - только время на передачу запроса по сети сократится. Да клиентский код чуть компактнее будет.



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

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
3-49402
explorer
2003-12-19 11:50
2004.01.16
Какие компоненты использовать


1-49556
Prospector
2004-01-06 08:58
2004.01.16
StatusLine


1-49508
webpauk
2004-01-03 15:51
2004.01.16
OnMouseDown


1-49569
Alik
2004-01-05 19:58
2004.01.16
как бмп проявить


8-49647
Delphin
2003-09-16 14:31
2004.01.16
Народ, помогите пожалуйста найти компонент dxPack первой версии (