Hola a todos.
Tengo un pequeño problemilla, resulta que estoy haciendo
una aplicacion que se conecta a una base de datos SQL
Server. Dentro de esta base de datos tengo un
StoredProcedure, el cual tiene 4 parametros. El problema
se presenta en este punto cunado intento ejecutar el
Stored de esta manera.
void DlgIncidencia::OnBnClickedIncInsert()
{
try
{
_CommandPtr pCommand;
_ParameterPtr
pParam1,pParam2,pParam3,pParam4,
pParam5,pParam6,pParam7;
HRESULT hr = pCommand.CreateInstance
(__uuidof (Command));
if (FAILED (hr)){
AfxMessageBox ("Can't create an
instance of Command");
return;
}
pCommand->ActiveConnection =
m_LinkTempConn;
pCommand->CommandText = "sp_addIncidence";
pCommand->CommandType = adCmdStoredProc;
pParam1 = pCommand->CreateParameter("Id",
adInteger, adParamInput, 4, 1);
pCommand->Parameters->Append(pParam1);
pParam2 = pCommand->CreateParameter
("Id_Incidencia", adInteger, adParamInput, 4, 1);
pCommand->Parameters->Append(pParam2);
pParam3 = pCommand->CreateParameter
("Usuario", adTinyInt, adParamInput, 1, 1);
pCommand->Parameters->Append(pParam3);
pParam4 = pCommand->CreateParameter
("TipoAveria", adTinyInt, adParamInput, 1, 1);
pCommand->Parameters->Append(pParam4);
pParam5 = pCommand->CreateParameter
("Averia", adVarChar, adParamInput, 200, "asdfasdfasd");
pCommand->Parameters->Append(pParam5);
pParam6 = pCommand->CreateParameter
("Solucion", adVarChar, adParamInput, 200, "");
pCommand->Parameters->Append(pParam6);
pParam7 = pCommand->CreateParameter
("Completada", adTinyInt, adParamInput, 1, 0);
pCommand->Parameters->Append(pParam7);
HRESULT hr1 = pCommand->Execute(NULL,
NULL, adCmdStoredProc);
if (FAILED (hr1)){
AfxMessageBox ("Can't create an
instance of Command");
return;
}
}
catch( _com_error &e )
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
}
catch (...)
{
TRACE ( "*** Unhandled Exception ***" );
}
Pero al lanzar este metodo no hace nada, ni muestra
mensaje de error, ni inserta ningun registro. Lo bueno
es que este Stored lo lanzo desde el Analizador de
Consultas y funciona.
Gracias.
Leer las respuestas