jueves, 17 de noviembre de 2016

Programación Orientada a objetos en C# - Control de usuario

Se tiene una aplicación SysDemo en 3 capas. En el cual se crea una carpeta CUsuario y se agrega un control de usuario cboDistrito y luego se agrega un objeto combobox.



En el Control de usuario, se ingresa el siguiente código.

public int xid;
public string Cnx = "Data Source=(local);Initial Catalog=SysMedic;Integrated Security=True;user id=sa; pwd=123";

        private void CboDistrito_Load(object sender, EventArgs e)
        {
            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = Cnx;
            llenarDis();
        }

        public void llenarDis()
        {
            comboBox1.ValueMember = "id_dis";
            comboBox1.DisplayMember = "nom_dis";
            comboBox1.DataSource = CapaNegocio.CNMedico.MostrarReg("distrito");
        }

        public int iddis
        {
            get
            {
                return xid;
            }
         
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                xid = Convert.ToInt32(comboBox1.SelectedValue.ToString());
            }
            catch { }
        }

En la Capa Negocio de la aplicación.

public class CNMedico
    {
         public static DataTable MostrarReg(string xreg)
        {
            CDMedico obj = new CDMedico();
            return obj.MostrarReg(xreg);
        }

    }

En la Capa Data de  la aplicación

 public class CDMedico
    {
        public DataTable MostrarReg(string xreg)
        {
            DataTable DtResultado = new DataTable();
            SqlConnection SqlCon = new SqlConnection();
            try
            {
                SqlCon.ConnectionString = ClsConexion.Cnx;
                SqlCon.Open();

                SqlCommand SqlCmd = new SqlCommand();
                SqlCmd.Connection = SqlCon;
                SqlCmd.CommandText = "usp_ListaReg";
                SqlCmd.CommandType = CommandType.StoredProcedure;
                SqlParameter par1 = new SqlParameter();
                par1.ParameterName = "@tabla";
                par1.Value = xreg;
                SqlCmd.Parameters.Add(par1);
                SqlDataAdapter Da = new SqlDataAdapter(SqlCmd);
                Da.Fill(DtResultado);

            }
            catch (Exception ex)
            {

            }
            return DtResultado;

        }

El procedimiento almacenado en la base de datos SysMedic

Create Proc usp_ListaReg @tabla varchar(20)
as
Declare @sql varchar(50)
Set @sql ='Select * From ' + @tabla +' order by 2'
Exec (@sql)

No hay comentarios.:

Publicar un comentario