Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизПомогите решить проблему с процедурой в SyBase Найти похожие ветки
← →
kivadim (2004-10-22 14:20) [0]Создаю процедуру в SyBase, которая должна возвращать значения в выходные параметры. Значения выходных параметров должны быть доступны в вызывающей программе, а на деле в программе выдает какой-то мусор, хотя на сервере процедура работает нормально.
Кто-нибудь подскажите в чем дело!
create procedure get_tip_equip
(in v_tip_id integer,
out v_categor_id integer,
out v_name varchar(50))
result (v_categor_id integer,
v_name varchar(50))
begin
select categor_id, name from Tip_equip where tip_id=v_tip_id
end
функция вызова вышеописанной процедуры
function GetElement: boolean;
begin
try
result:=true;
StoredProc1.Close;
StoredProc1.StoredProcName:="get_tip_equip";
StoredProc1.Params.Clear;
with StoredProc1.Params.CreateParam(ftInteger, "v_tip_id", ptInput) do
begin
AsInteger:=tip_id;//переменная
end;
StoredProc1.Params.CreateParam(ftInteger, "v_categor_id", ptOutput);
StoredProc1.Params.CreateParam(ftString, "v_name", ptOutput);
StoredProc1.Prepare;
StoredProc1.ExecProc;
StoredProc1.GetResults;
Edit1.text:=Trim(StoredProc1.Params[1].AsString);
Edit2.text:=Trim(StoredProc1.Params[2].AsString);
except
result:=false;
end;
end;
← →
Nikolay M. © (2004-10-22 14:50) [1]Было бы удивительно, есди бы возвращалось что-то, отличное от мусора...
Где присвоение параметрам значений?
← →
kivadim (2004-10-22 15:12) [2]Я так понимаю присвоение делается в самой процедуре, пробовал (into v_categor_id,v_name), но это тоже не помогает, или присвоение надо делать в программе?
create procedure get_tip_equip
(in v_tip_id integer,
out v_categor_id integer,
out v_name varchar(50))
result (v_categor_id integer,
v_name varchar(50))
begin
select categor_id, name
into v_categor_id,v_name
from Tip_equip where tip_id=v_tip_id
end
← →
clickmaker © (2004-10-22 15:18) [3]create procedure get_tip_equip
(
@v_tip_id integer,
@v_categor_id integer out,
@v_name varchar(50) out
)
as begin
select @v_categor_id = categor_id, @v_name = name
from Tip_equip where tip_id=@v_tip_id
end
← →
kivadim (2004-10-22 16:09) [4]Ну вот другое дело. Спасибо!
Только вот почему если в поле значение null, то в параметре в программе мусор?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c