Hola voy a tratar de explicarme lo mas posible necesito que cuando un combo cambia de valor el procedimiento almacenado en la base de dato me setee en un textbox un valor ya tengo todo echo lo unico es que no puedo o en realidad no se como obtener ese valor
el procedimiento almacenado que tengo es este:
--este procedimiento va a mostrar y setear en el text box el numero inicial del nuerador
create procedure sp_codigo_numerador
@idabuscar int
as
select numero_inicio from codigo_numeracion
where idCodigoNumeracion=@idabuscar
go
funciona bien y me trae el valor que necesito desde c# en la capa de datos setie esto :
public int Mostrar_Numero_Inicio(DDefinirParametros DDefinirParametros)
{
//respuesta
int rpta ;
SqlConnection SqlCon = new SqlConnection();
try
{
SqlCon.ConnectionString = Conexion.Cn;
SqlCon.Open();
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "sp_codigo_numerador";//select en los procedimientos almacenados
SqlCmd.CommandType = CommandType.StoredProcedure;
SqlParameter ParIdaBuscar = new SqlParameter();
ParIdaBuscar.ParameterName = "@idabuscar";
ParIdaBuscar.SqlDbType = SqlDbType.Int;
ParIdaBuscar.Value = DDefinirParametros.Codigo_relacion_numerico;
SqlCmd.Parameters.Add(ParIdaBuscar);
rpta = Convert.ToInt32(SqlCmd.ExecuteReader());//supuestamente esto me tiene que devolver el valor
}
catch (Exception ex)
{
rpta=11;
}
//finally se va a ejecutar independientemente de lo que pase en el try & catch
finally
{
//con este if vamos a cerrar la coneccion si esta abierta ConectionState devuelve el estado de la coneccion
if ((SqlCon.State == ConnectionState.Open))
{
SqlCon.Close();
}
}
return rpta;
}
lo unico que me falta es poder acceder al valor que me da el procedimiento pero no se como hacerlo cuando ejecuto el programa usando SqlDataReader() el programa me setea en el textBox el valor del catch.
pero para probar si estaba bien lo del try tire un ExecuteNonQuery() para ver que me retornaba y me retorna en el TextBox un -1 osea que estafuncionando bien el procedimiento y la conexion lo que no se hacer es poder recibir ese dato y ponerlo en la variable
rpta. Gracias Saludos.