ComboBox'a Veritabanından Veri Çekme
Merhabalar.
ComboBox nesnemize veritabanındaki bir sütundan veri çekmek kolay bir iş. Bu işi sizlere iki farklı şekilde göstereceğim.
1. DataAdapter ile listelettirme
public void comboBoxIlDoldur()
{
Baglantim.Open;
SqlDataAdapter Da = new SqlDataAdapter("Select * from iller", Baglantim);
DataTable Dt = new DataTable();
Da.Fill(Dt);
cmbIller.DataSource = Dt; // comboBox'ın veri kaynağını gösteriyoruz
cmbIller.DisplayMember = "ilAdi"; // comboBox'ta listelenecek olan sütun, görülecek alan
cmbIller.ValueMember = "id"; // arka planda tutulacak olan değer, örneğin Kocaeli'yi seçtiğinizde arka planda onun id'sini seçiyor
}
2. DataReader ile listelettirme
public void comboBoxPersonelDoldur()
{
Baglantim.Open();
SqlCommand Com = new SqlCommand("Select * from personel", Baglantim);
SqlDataReader Dr = Com.ExecuteReader(); // Verileri SqlDataReader ile çekiyorum, executereader ile çalıştırıyoruz
whlie(Dr.Read()) // While döngüsüne koyuyorum, Dr nesnesindeki verileri okutuyorum
{
cmbPersoneller.Items.Add(Dr["AdSoyad"]); // ComboBox'a Dr'deki AdSoyad sütununu okumasını söyleyip listeye eklemesini söylüyorum
}
Dr.Close // Kaynağı kapatıyoruz
Baglantim.Close(); // Bağlantıyı kapatıyoruz
}

Not: Örnek olarak form_load kısmına da bunu yazabilirdik ancak ayrı bir fonksiyon oluşturdum (comboBoxPersonelDoldur gibi). Bu fonksiyonu Load kısmına yazmadıkça fonksiyon çalışmayacaktır.
Kolay gelsin,
Recep.
Developer.