Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2006, 07:23
Avatar de jhonwilliams
jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 11 meses
Puntos: 76
Hola, este es el codigo que uso:

Código:
//Parametros
SqlParameter[] parametros = new SqlParameter[2];
parametros[0] = new SqlParameter("@Accion", "1");
parametros[1] = new SqlParameter("@Salida", "");
parametros[1].Direction = ParameterDirection.Output;

//Conexion
SqlConnection cn = new SqlConnection("server=XXX;database=XXX;uid=XX;pwd=XX");
//Comand
SqlCommand comando = new SqlCommand();
comando.CommandType = CommandType.StoredProcedure;
comando.CommandText = "spConsultarEmpleados";
comando.Connection = cn;
//Le asignamos los parametros al command
for(int i=0;i<parametros.Length;i++)
{
       comando.Parameters.Add(parametros[i]);
}

//Llenamos un dataset
DataSet ds = new DataSet();
SqlDataAdapter adap = new SqlDataAdapter(comando);
adap.Fill(ds);

dataGridView1.DataSource = ds.Tables[0];
Normalmente despues de .fill los parametros toman valor.

Cuando se ejecuta el procedimiento y se genera un error en sql, algo asi como cuando hay registro duplicado, y ese error es asignado al parametro de salida, ahi si lo puedo ver, pero si le asigno un valor asi como lo estoy haciendo el procedimiento almacenado, no lo puedo ver.

Para ver el valor de parametro despues del .fill(), solo digo

Código:
parametro[1].value
__________________
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)