Siempre me a gustado trabajar en capas por eso les mostrare desde como hacer el SP (Store Procedure) el llamado de una clase, y la aplicación en el Form
Bueno el SP es un código que me va a traer en este caso los roles de un sistema y los campos que retorna son el Id y el Nombre
SP:
CREATE procedure[dbo].[trae_datos_roles]
as
begin
select Id_rol, Nombre_rol from Tbl_rol
end
Luego que tenemos el SP funcionado pasamos al llamado a alguna clase en este caso le llame Roles
public DataSet retorna_roles()
{
Nombre_Sp = "trae_datos_roles";
ds = cargar_dataset(Nombre_Sp, ref mensaje_error, ref numero_error);
if (numero_error == 0)
return ds;
else
return null;
En este código se esta usando otra clase llamada UtilidadesBD(Valida las conexiones) que se conecta con la Clase DAL(Lenguaje de acceso a datos) en este caso lo que se manda por parámetros es el nombre del SP y este devuelve un Data Set con la información requerida (Si necesitan las otras clases escríbanme y se las puedo pasar)
Con eso ahora podemos cargar nuestro combo box en el form
Yo cree un procedimiento para llamar a la carga de este combo box de esta manera:
Nomenclatura= cb = combo box , ds = DataSet
void carga_roles()
{
objroles = new Roles();
ds = new DataSet();
ds = objroles.retorna_roles();
cb_roles.DataSource = ds.Tables[0];
cb_roles.DisplayMember = ds.Tables[0].Columns["Nombre_rol"].ColumnName;
cb_roles.ValueMember = ds.Tables[0].Columns["Id_rol"].ColumnName;
objroles = null;
}
Bueno para explicar un poco al inicio llamo a la Clase Roles que vimos ahora la inicializo, luego creo un data set y lo inicializo también, luego cargo se data set con el data set que me retorna el procedimiento de la Clase roles.
Cargo se data set al combo box con la propiedad DataSource.
Luego evaluó para saber que es lo que necesito mostrar al usuario final y cual es el valor que voy a utilizar en mi código para esto están las propiedades DisplayMember y ValueMember como se utiliza en el código anterior
Con esto vamos a tener un combo box cargado con items de la base de datos