Bu örnekte C# ile bir SQL veritabanına bağlanarak, veri tabanında bulunan bir alandaki verileri ComboBox içine getireceğiz. Tekrarlanan veri varsa sadece bir tanesini çekeceğiz.
Örnek olarak alttaki resimde görülen ülkelerden, tekrar edenler varsa sadece bir defa eklenecektir.

Örneğimizde Northwind veritabanında bulunan Customers tablosunu kullanacağız.
Formumuza ToolBox penceresinde bulunan Combobox denetimini ekledikten sonra Form_Load olayı için aşağıdaki kodları yazalım.
Bu işlem için bir çok farklı yol bulunmaktadır. Bu örneğimizde sorunumuzu List kullanarak ve List.Distinct metodu ile çözmüş olacağız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | private void Form1_Load(object sender, EventArgs e) { using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True")) { con.Open(); SqlCommand cmd = new SqlCommand("SELECT *FROM Customers", con); SqlDataReader dr = cmd.ExecuteReader(); List<string> list = new List<string>(); while (dr.Read()) { list.Add(dr["Country"].ToString()); } dr.Close(); list=list.Distinct().ToList(); list.Sort(); comboBox1.DataSource = list; } } |
Ekran Çıktısı:
