![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Понять не могу....(делаю перенос данных из Dbase в Firebird) [D6, FireBird 1.5]
Koala © (2004-08-01 13:05:00)Есть ХП (которая возвращает ID_Avto):
CREATE PROCEDURE PR_OUT_ID_AVTO (
IN_GNUM VARCHAR(15),
IN_MARKA VARCHAR(30))
RETURNS (
OUT_ID INTEGER)
AS
begin
for
/* Procedure Text */
SELECT GOS_NUM, MARKA_AVTO
FROM TBL_REF_AVTO
INTO :IN_GNUM, :IN_MARKA
do
begin
suspend;
end
end
Вызываю ХП в программе
DM.pFIBSP_OUT_IDAvto.Prepare;
Try
DM.pFIBTrans.StartTransaction;
while not DM.tblRefNorm.Eof do
begin
DM.pFIBSP_OUT_IDAvto.Params[0].AsString := DM.tblRefNormGOS_NUM.AsString;
DM.pFIBSP_OUT_IDAvto.Params[1].AsString := DM.tblRefNormMARKA_AVTO.AsString;
DM.pFIBSP_OUT_IDAvto.ExecProc;
DM.pFIBSP_REF_FUELMAPE.Params[0].AsDate := DM.tblRefNormDATA_NORM.AsDateTime;
DM.pFIBSP_REF_FUELMAPE.Params[1].AsInteger := DM.pFIBSP_OUT_IDAvto.ParamValue('OUT_ID').AsInteger; (сдесь ругается параметр OUT_ID не существует)
......
dm.pFIBSP_REF_FUELMAPE.ExecProc;
end;
DM.pFIBTrans.Commit;
except
DM.pFIBTrans.Rollback;
end;
Что я не так делаю и как правильно????
DrPass (2004-08-01 13:31:00) [21]А кроме того, эта процедура (если бы она была правильно написана) возвращала бы набор данных, и должна вызываться через обычный запрос SELECT, а не ExecProc
Koala (2004-08-01 13:31:00) [22]Вот и я понять не могу... где у меня ошибка, почему я не получаю возвращение от ХП параметра OUT_ID и не могу подставить значение в таблицу...
Guest (2004-08-01 13:29:00) [23]SELECT OUT_ID = (SELECT GOS_NUM, MARKA_AVTO
FROM TBL_REF_AVTO
INTO :IN_GNUM, :IN_MARKA)
or
set OUT_ID = (SELECT GOS_NUM, MARKA_AVTO
FROM TBL_REF_AVTO
INTO :IN_GNUM, :IN_MARKA)
в сиквеле что-то типа тогоко наверное и в IB так.. :)
}{ander (2004-08-01 13:26:00) [24]В ХП параметру OUT_ID ничего не присваивается, хотя он заявлен, как выходной.
Koala (2004-08-01 13:20:00) [25]Project Converter.exe raised exception class Exception with message 'Параметр "OUT_ID" не существует в DM.pFIBSP_OUT_IDAvto'. Process stoped
Guest (2004-08-01 13:10:00) [26]описание ошибки есть?