Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2005, 13:01
Avatar de mabarcau
mabarcau
 
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 19 años, 9 meses
Puntos: 0
No recuerdo donde lo vi por primera vez de lo contrario te pasaria el link, de todos modos te doy un ejemplo completo:

En tu SP el parametro de salida debes de clararlo asi:

@SALIDA INT OUTPUT

Mas adelante como ya tu dices haces el:

return @SALIDA


En tu capa de datos, podrias colocar una clase algo asi:


public int validarCarga(int numBloq, string nomVeta, string nomZona, int minId)
{
int salida = 0;
SqlCommand cmd = new SqlCommand();
SqlConnection cn = new SqlConnection();

cmd.CommandText = "SPM_VALIDA_BLOQUE";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cn;
cn.ConnectionString = cadenaConn;
cmd.Parameters.Add(new SqlParameter("@CAR_BLOQUE",System.Data.SqlDbType.I nt)).Value = numBloq;
cmd.Parameters.Add(new SqlParameter("@CAR_VETA",System.Data.SqlDbType.Var Char)).Value = nomVeta;
cmd.Parameters.Add(new SqlParameter("@CAR_ZONA",SqlDbType.VarChar)).Value = nomZona;
cmd.Parameters.Add(new SqlParameter("@MIN_ID",SqlDbType.Int)).Value = minId;

SqlParameter paramSalida = new SqlParameter();
paramSalida.ParameterName = "@SALIDA";
paramSalida.SqlDbType = SqlDbType.Int;
paramSalida.Direction = ParameterDirection.Output;
cmd.Parameters.Add(paramSalida);

cn.Open();
cmd.ExecuteNonQuery();
salida = Int32.Parse(cmd.Parameters["@SALIDA"].Value.ToString());
cn.Close();
return salida ;
}

Tu Clase de Negocios podria ser de esta forma:

public int validarCarga(int numBloq, string nomVeta, string nomZona, int minId)
{
ValidaCargaADO validaCargaADO = new ValidaCargaADO();
return validaCargaADO.validarCarga(numBloq, nomVeta, nomZona,minId);
}

Al final cuando hagas la llamada en el codebehind, lo harias de esta forma:

int validacionCarga = validaCargaBUS.validarCarga(int.Parse(numBloque),v eta,zona,minId);

donde el valor de tu parametro @SALIDA seria: validacionCarga.


Te hubiese querido poner algo mas puntual, pero como el codigo lo tuve a la mano, me dio flojera reducirlo, de todas formas espero que te sirva!!