VB.net: Veritabanındaki bilgiler ile Combobox listesi oluşturulması

Vb 6.0 da Combobox kontrolüne bir veritabanı tablosunu ilişkilendirirken önce onun database bağlantısını yaparız, sonra ROWMEMBER ile görüntülenecek sütun seçilir en sonunda da BOUNDCOLUMN alanına tablonun ID alanını bağlarız, böylece COMBOBOX içersinde örnek olarak şehir isimleri listelenirken bilgi kayıt ederken veritabanına ilgili şehrin ID değeri kayıt edilmiş olur (INTEGER)

Peki ama bunu Vb.net ortamında nasıl yaparız?

Vb.net ortamında BOUNDCOLUMN alanı yerine VALUEMEMEMBER alanı kullanılmaktadır.

aşağıdaki örnekte de görüleceği gibi DISPLAYMEMBER ile tablomuzun listelenecek sütunu seçiliyor, VALUEMEMBER ile de veritabanına gönderilecek bilgi ayarlanıyor.

Yalnız burada dikkat edilmesi gereken konu; Veritabanına bu COMBOBOX dan gelen bilgi kayıt edilirken sehircombo.text yerine sehircombo.SelectedValue kullanılmalıdır. Aksi halde veritabanına yine TEXT ifade gönderilmek istenecektir.

Örnek:


 Try
 Dim sql As String
 sql = "Select sehir,id from sehirler  order by id"
 Dim da As New SqlDataAdapter(sql, baglanti)
 Dim ds As New DataSet
 da.Fill(ds)
 Dim datatable As DataTable = ds.Tables(0)
 sehircombo.DataSource = ds.Tables(0)
 sehircombo.DisplayMember = "sehir"
 sehircombo.ValueMember = "id"
 Catch ex As Exception
 MessageBox.Show(ex.Message, ex.GetType.ToString)
 End Try