Hola amigos del foro en mi anterior post tuve una duda referente a como cargar datos en un combobox desde una base de datos y lo logre gracias a la ayuda del amigo daniel.
Ahora estoy intentando hacer lo mismo pero con un proceso e implementacion diferente basado en la programacion orientada a objetos; resumiendo:
- Tengo un Winform que contiene 01 combobox y 01 textbox.
- tengo una clase llamada "DBcombo".
- tengo otra clase llamada "datos".
- Tengo un procedimiento almacenado llamado "sp_combo"
Hasta ahi estamos, ahora:
En la clase "DBcombo" he definido lo siguiente:public class DBcombo
{
public DBcombo()
{
}
public SqlConnection getConexion()
{
try
{
SqlConnection con = new SqlConnection("Data Source=local;Initial Catalog=comboMAN;Integrated Security=True");
return con;
}
catch (SqlException e)
{
Console.WriteLine("Error de SQL:" + e.ToString());
}
catch (Exception e)
{
Console.WriteLine("Error:" + e.ToString());
}
return null;
}
}En la clase "datos" he definido loa siguiente:public class datos
{
public datos()
{
}
//Metodo que busca centro educativo "buscarce"
public DataSet buscarce()
{
DBcombo basedat = new DBcombo();
SqlConnection con = new SqlConnection();
DataSet ds = new DataSet();
try
{
con = basedat.getConexion();con.Open();
SqlCommand cmd=new SqlCommand("sp_combo", con);
cmd.CommandType=CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
con.Close();
return ds;
}
catch (SqlException e)
{
Console.WriteLine("Error de SQL :" + e.Message);
}
catch (Exception e)
{
Console.WriteLine("Error :" + e.Message);
}
return null;
}
}En el Load del formulario he puesto lo siguiente:comboBox1.DataSource = datace.buscarce().Tables[0];El procedimiento almacenado lo pongo por hay que corregir algo, este me permite si es que no estoy equivocado cargar los registros de la tabla "centroeducativo" que contiene los campos id_ce y nombre_ce.
ALTER PROCEDURE sp_combo
@idcen varchar(20),@nomce varchar(50)
AS
BEGIN
SET NOCOUNT ON;
SELECT id_ce, nombre_ce from centroeducativo where @idcen=id_ce and @nomce=nombre_ce
ENDCuando ejecuto la aplicacion no tengo errores, pero me sale el siguiente mensaje:
No se controlo NullReferenceException, esto en la linea del load (comboBox1.DataSource = datace.buscarce().Tables[0]
, a que se debe esta excepcion enque estoy fallando por favor amigo daniel si llees el mensaje te pido me des una manito.
Hasta pronto.