Форум: "Базы";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизПередача параметра в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c