выходной параметр SP
От: Трифонов Андрей Россия  
Дата: 27.05.02 05:30
Оценка:
Господа, помогите пожалуйста.
Не могу получить выходной параметр ХП:
create procedure SP_AddRecInTable
        @NameRec    varchar(200),
        @Ident        int OUTPUT 
as
begin tran AddRecInTable        
insert into t_Table(Name)
    values (@NameRec)     
select Ident =@@identity
commit tran AddRecInTable


Вот Код:
CString strName="TestName";
int RecID;
_CommandPtr pCmd=NULL;
_ParameterPtr pName=NULL,pIdent=NULL;
_variant_t vName,vIdent;

pCmd.CreateInstance(__uuidof(Command));            
pCmd->ActiveConnection = Conn;
pCmd->CommandType = adCmdStoredProc;
pCmd->CommandText = _T("SP_AddRecInTable");

vName.vt = VT_BSTR;        
vName.bstrVal = _bstr_t((LPCTSTR)strName).copy();

pName = pCmd->CreateParameter(_T("NameRec"),adBSTR,adParamInput,strName.GetLength(),vName);
pIdent = pCmd->CreateParameter(_T("Ident"),adInteger,adParamOutput,sizeof(int),vIdent);
pCmd->Parameters->Append(pName);
pCmd->Parameters->Append(pIdent);
pCmd->Execute(NULL,NULL,adCmdStoredProc|adExecuteNoRecords);
vIdent = pCmd->Parameters->Item[_T("Ident")]->Value;
if (vIdent.vt==VT_I4)    
    RecID=vIdent.iVal;

Всё вроде работает, только subj никак не могу получить.
(vIdent всегда равен NULL).
В чём может быть дело и как с этим бороться?
(MSSQL2000,MDAC2.6)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.