Foros del Web » Programación para mayores de 30 ;) » .NET »

SqlParameters problemas de recuperar valor de output de un procedure

Estas en el tema de SqlParameters problemas de recuperar valor de output de un procedure en el foro de .NET en Foros del Web. Que tal foro, me gustaria me ayudaran con un problema que tengo. el código a continuacion es el que me presenta dificultades, ya que necesito ...
  #1 (permalink)  
Antiguo 19/02/2007, 13:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 1
Antigüedad: 17 años, 2 meses
Puntos: 0
SqlParameters problemas de recuperar valor de output de un procedure

Que tal foro,

me gustaria me ayudaran con un problema que tengo.

el código a continuacion es el que me presenta dificultades, ya que necesito que a la variable de tipo int codigo_materia se le asigne el valor devuelto por el procedure en su variable @CODIGO_MATERIA...

el procedure funciona y si retorna el valor correspondiente, solo que no logro recurperarlo desde la aplicacion. la linea en rojo es la que necesito funcione ya que la variable codigo_materia la uso en el bucle de mas abajo para otra insercion...

la mecanica es cabecera - detalle.

oComm = new SqlCommand();
oComm.CommandType = CommandType.StoredProcedure;
oComm.CommandText = "PM_INGRESO_MATERIA";
oComm.Connection = oConn;
oComm.Transaction = transaccion;
oComm.Parameters.AddWithValue("@MAESTRIA", codigo_maestria);
oComm.Parameters.AddWithValue("@NOMBRE_MATERIA", nombre_materia);
oComm.Parameters.AddWithValue("@MAESTRO_PRINCIPAL" , codigo_maestro_principal);
oComm.Parameters.AddWithValue("@MAESTRO_PRINCIPAL" , codigo_maestro_principal);
oComm.Parameters.AddWithValue("@CODIGO_MATERIA", codigo_materia).Direction = ParameterDirection.Output;


codigo_materia = (Int32)oComm.Parameters["@CODIGO_MATERIA"].Value;



for (int i = 0; i <= maximo;i++ )
{
oComm.CommandText = "PM_INGRESO_MATERIA_DETALLE";
oComm.Connection = oConn;
oComm.Parameters.AddWithValue("@MATERIA", codigo_materia);
oComm.Parameters.AddWithValue("@MAESTRO_PRINCIPAL" , codigo_maestro_principal);
oComm.Parameters.AddWithValue("@PARALELO", detalle_paralelo[i]);
oComm.Parameters.AddWithValue("@MAESTRO_SUPLENTE", detalle_profesor[i]);
}
oComm.ExecuteNonQuery();


------------------------------------------------
------------------------------------------------
muy agradecido les quedo amigos...

Gustavo Sierra
  #2 (permalink)  
Antiguo 20/02/2007, 12:48
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Re: SqlParameters problemas de recuperar valor de output de un procedure

Te dire yo como lo hago:

Creo los parametros asi, esto es en C#

Código:
SqlParameter[] parametros = new SqlParameter[8];
parametros[0] = new SqlParameter("@strlote",SqlDbType.VarChar,3);
parametros[0].Value=Lote;
parametros[0].Direction = ParameterDirection.Output;
parametros[1] = new SqlParameter("@strtipofecha",SqlDbType.VarChar,1);
parametros[1].Value=TipoFecha;
parametros[2] = new SqlParameter("@FechaInicial",SqlDbType.DateTime);
parametros[2].Value=FechaInicial;
Luego los adjunto al command con un foreach
seria algo como esto:

Cita:
foreach(SqlParameter p in parametros)
{
cmd.Parameters.Add(p);
}
Luego ejecuto el sp y cuando termina la ejecucion el parametros[0] viene con el valor que retorno el procedimiento almacenado

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:00.