Hola, es importante que menciones que tipo de aplicacion es la que estas creando ya que si es windows o web la manera optima puede diferir un poco de como se realice, pero basicamente ambas comparten el mismo codigo que necesitas. Te pego un ejemplo de como deberia o podria ser tu clase para cargar los datos hacia la aplicacion, ya que es recomendable separar la parte de presentacion (pantallas, reportes etc) de los datos.
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Data;namespace MSGuayaquilDataset
{
class DataTier
{
/// <summary>
/// Constructor de la clase, toda clase debe tener su constructor.
/// </summary>public DataTier()
{
}
public DataTier(string con)
{
///este codigo de con=="" ? string.Empty:con
///es como decir lo siguiente:
///if(con=="")
/// string.Empty;
///else
/// this.conexion = con;this.conexion = con=="" ? string.Empty:con;
}
private DataTable tabla;
private string conexion;
/// <summary>
/// Esta funcion lo que hara es traer datos de la base o si deseas puede traer solo la estructura
/// </summary>public DataSet Bind()
{
///este objeto se comporta muy similar al conocido Recordset de VB 6.0
///Ojo aqui te pongo este objeto que es general porque en realidad no depende de la conexion o la base de datos,
///pero el objeto de la conexion si depende de la base de datos y como no especificas que base de datos te conectas
///entonces simplemente te voy a guiar que otros objetos necesitas.DataSet ds = new DataSet("dsRegistros");
/// la declaracion de la conexion, en el ejemplo asumo que es SQL Server, ojo las clases para conexion directa a Sql
/// son para bases a partir de Sql Server 7.0, lo que no recuerdo es la version exacta de service pack.try
{
System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(this.conexion);
System.Data.SqlClient.
SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("Select....",cnn);
/// da.DeleteCommand = aqui debes poner un objeto SqlCommand para indicar la sentencia Delete.
/// da.UpdateCommand = para las actualizaciones.
/// da.InsertCommand = para las inserciones.
///Para cargar los datos utilizas el siguiente comando.
///
da.Fill(ds);
}
catch(exception e)
{
///Aqui debes poner el codigo que deberia ejecutarse en caso de algun problema.
}
finally
{
///Aqui va el codigo que deberia ejecutarse haya o no problemas, es bien recomendable que variables y/u objetos sean liberados en
///esta porcion. Ojo no es bueno estar poniendo try y catch por todos lados, esto resta rendimiento a la aplicacion, debes estructurar
///bien tu manejo de errores.
}
return ds;
}
}
}
Ahora digamos que el siguiente codigo esta en tu aplicacion para cargar el control de datos.
DataTier
AppData = new DataTier("La conexion que como digo la puedes obtener de www.connectionstrings.com");this.listBox1.DataSource = AppData.Bind();
Por ahora lleguemos hasta aqui hasta que nos des una idea un poquito mas detallada de lo que necesitas.
Atentamente,
Julio V.