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