Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Возврат значения из Stored Procedure

460
08 августа 2003 года
Berg
261 / / 27.03.2003
Проблема такая:
Работаю через ADO с SQL Server.
На нем имеется такая sp:

CREATE PROCEDURE dbo.GetContractIDForEstCont
@EstContID int,
@ContractID int OUTPUT
AS
SET NOCOUNT ON
SELECT @ContractID = ContractID FROM Estimate
WHERE [ID] =
(SELECT TOP 1 EstimateID FROM EstimateContent WHERE [ID] = @EstContID)
SET NOCOUNT OFF
GO

Пускаем ее в QA:
DECLARE @ContractID int
EXEC GetContractIdForEstCont 43, @ContractID OUTPUT
SELECT @ContractID

Получаем, что @ContractID = 2

Пускаем из Builder так:
TADOStoredProc *Proc = new TADOStoredProc(this);
Proc->Connection = DM->ADOConnection;
Proc->ProcedureName = "GetContractIdForEstCont";
Proc->Parameters->Clear();
try {
Proc->Parameters->CreateParameter("", ftInteger, pdInput, sizeof(int), 43);
Proc->Parameters->CreateParameter("", ftInteger, pdOutput, sizeof(int), ContractID);
Proc->Prepared = true;
Proc->ExecProc();
}
__finally {
delete Proc;
}

ContractID не получает значение из проци.
В чем прикол?
293
08 августа 2003 года
SEDEGOFF
586 / / 06.10.2002
Ты ее попробуй передать как &ContractID
460
08 августа 2003 года
Berg
261 / / 27.03.2003
Цитата:
Originally posted by SEDEGOFF
Ты ее попробуй передать как &ContractID



Нет, не помогло...
Но вот такая тема работает:

ContractID = Proc->Parameters->Items[1]->Value;

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог