En iyi yanıtlayıcılar
MSSQL ComboBoxlar arası iletişim

Soru
-
Merhabalar, 2 combo boxım var, birinde doktora ait bölüm seçiliyor, diğerinde ise o bölüme ait olan doktorların sergilenmesini istiyorum.
Kodlar şu şekilde, burada bölüm adlarını çekiyorum;
private void CBBolum() { cnn.Open(); SqlCommand komut = new SqlCommand(); komut.CommandText = "SELECT bolumad FROM BolumTbl"; komut.Connection = cnn; komut.CommandType = CommandType.Text; SqlDataReader dr; dr = komut.ExecuteReader(); while (dr.Read()) { cbBolum.Items.Add(dr["bolumad"]); } cnn.Close(); }
Burada ise bölüm adına ait olan comboboxta yazan bölüm adına göre o bölüme ait doktor adını çekmesini istiyorum;
private void CBDoktor() { cnn.Open(); SqlCommand komut = new SqlCommand(); komut.CommandText = "SELECT doktorad FROM DoktorTbl where doktorbolum=@cbbolumtext"; komut.Connection = cnn; komut.CommandType = CommandType.Text; komut.Parameters.AddWithValue("@cbbolumtext", cbBolum.Text); SqlDataReader dr; dr = komut.ExecuteReader(); while (dr.Read()) { cbDoktor.Items.Add(dr["doktorad"]); } cnn.Close(); }
CBBolum adlı fonksiyonu formun load fonksiyonun içinde çalıştırıyorum, CBDoktor adlı fonksiyonu ise bölümlerin yazdığı comboboxın SelectedIndexChanged fonksiyonunun içinde çalıştırıyorum.
Yaşadığım sorun ise bölüm adlarının yazdığı comboboxtaki veriyi her değiştirdiğimde doktor adlarının yazdığı comboboxa her seferinde isim eklenmesi.
Yanıtlar
-
private void CBBolum() { DataTable tablo = new DataTable(); using (SqlDataAdapter komut = new SqlDataAdapter("SELECT bolumad FROM BolumTbl", cnn)) { komut.Fill(tablo); } cbBolum.DisplayMember = "bolumad"; cbBolum.ValueMember = "bolumad"; cbBolum.DataSource = tablo; }
private void CBDoktor() { DataTable tablo = new DataTable(); using(SqlDataAdapter komut = new SqlDataAdapter("SELECT doktorad FROM DoktorTbl where doktorbolum=@cbbolumtext", cnn)) { komut.Parameters.AddWithValue("@cbbolumtext", cbBolum.Text); komut.Fill(tablo); } cbDoktor.DisplayMember = "doktorad"; cbDoktor.ValueMember = "doktorad"; cbDoktor.DataSource = tablo; }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Yanıt Olarak İşaretleyen Emir Aslan 1 Aralık 2017 Cuma 23:16
Tüm Yanıtlar
-
-
private void CBBolum() { DataTable tablo = new DataTable(); using (SqlDataAdapter komut = new SqlDataAdapter("SELECT bolumad FROM BolumTbl", cnn)) { komut.Fill(tablo); } cbBolum.DisplayMember = "bolumad"; cbBolum.ValueMember = "bolumad"; cbBolum.DataSource = tablo; }
private void CBDoktor() { DataTable tablo = new DataTable(); using(SqlDataAdapter komut = new SqlDataAdapter("SELECT doktorad FROM DoktorTbl where doktorbolum=@cbbolumtext", cnn)) { komut.Parameters.AddWithValue("@cbbolumtext", cbBolum.Text); komut.Fill(tablo); } cbDoktor.DisplayMember = "doktorad"; cbDoktor.ValueMember = "doktorad"; cbDoktor.DataSource = tablo; }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Yanıt Olarak İşaretleyen Emir Aslan 1 Aralık 2017 Cuma 23:16