Главная страница
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.027 c
14-49757
Officeman
2003-12-26 12:40
2004.01.16
что нового в DELPHi 7 ??


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


3-49408
BlackCat
2003-12-16 18:27
2004.01.16
Как построить такой запрос...


1-49637
Duke DEE
2004-01-04 15:20
2004.01.16
C++ ==> Delphi


3-49417
new
2003-12-19 09:54
2004.01.16
можно ли таблицы paradox7 не связывать через database decstop