Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/02/2008, 19:56
Avatar de Peterpay
Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 17 años, 5 meses
Puntos: 87
Re: Llenar un ComboBox en Windows forms

Igual con un dataset puedes usar una cadena no hay limitacion con ello
CC
Dataset ---> DataAdapter ---> BD

y viceversa.

Te pongo un Ejemplo Acontinuación

public partial class Form1 : Form
{
SqlConnection con = new SqlConnection("data source=.;initial catalog=deepra;uid=sa;pwd=;");
SqlDataAdapter ad;
SqlCommandBuilder cbuilder;
DataSet ds=new DataSet();

public Form1()
{
InitializeComponent();
}

private void BtnLoad_Click(object sender, EventArgs e)
{
ad = new SqlDataAdapter("select * from student", con);
cbuilder = new SqlCommandBuilder(ad);
ad.InsertCommand = cbuilder.GetInsertCommand();
ad.UpdateCommand = cbuilder.GetUpdateCommand();
ad.DeleteCommand = cbuilder.GetDeleteCommand();

ds.Clear();
ad.Fill(ds, "stud");
dataGridView1.DataSource=ds.Tables["stud"];
}

private void BtnUpdate_Click(object sender, EventArgs e)
{
if (ds.HasChanges())
{
ad.Update(ds.Tables["stud"]);
MessageBox.Show("Updated");
}
}

private void BtnCancel_Click(object sender, EventArgs e)
{
if (ds.HasChanges())
{
ds.RejectChanges();
MessageBox.Show("RollBacked");
}
}
}

Recueda un dataset trabaja en modo desconectado.

Un ejemplo usando un Array

public partial class Form1 : Form
{
SqlConnection con = new SqlConnection("Data Source=.;initial catalog=Deepra;uid=sa;pwd=;");
ArrayList DataHolder = new ArrayList();
public Form1()
{
InitializeComponent();
}

private void BtnPopulate_Click(object sender, EventArgs e)
{
SqlCommand com = new SqlCommand("select * from student", con);
con.Open();
SqlDataReader rd = com.ExecuteReader();
if (rd.HasRows)
{
foreach (DbDataRecord rec in rd)
{
DataHolder.Add(rec);
}
}
rd.Close();
con.Close();
}

private void BtnBind_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = DataHolder;
}
}

Estos son meramente ilustrativos

hay mil formas de hacerlo.

saludos
peter