Comboboxtaki seçime göre veritabanından textboxa veri çağırma

1 2
10/07/2014, 12:51

alpeki99

Bu şekilde verileri combobox'a bağlamıyorsun sen. Yaptığın şey veritabanından çektiğin verileri Items.Add ile eklemek. Daha basit bir yöntemi var bu şekilde kullan:


Private cnn As MySqlConnection

Private Sub DonemleriYukle()
Try
Using cnn = New MySqlConnection(VT.BaglantiCumlesi)
Using adapter As New MySqlDataAdapter("SELECT AnahtarDeger,DonemAdi FROM donemler WHERE Durum=1", cnn)
Dim dt As New DataTable()
adapter.Fill(dt)

lueDonemler.Properties.DataSource = dt
lueDonemler.Properties.ValueMember = "AnahtarDeger"
lueDonemler.Properties.DisplayMember = "DonemAdi"
End Using
End Using
Catch ex As MySqlException
lg.LogEkle("frmUsbOlustur", "DonemleriYukle", ex.Message, ex.Number, Ortak.Kullanici.KullaniciId)
MessageBox.Show("Dönemlerin yüklenmesi sırasında bir hata ile karşılaşıldı." + Environment.NewLine + Environment.NewLine + "Hata Mesajı : " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub

'=======================================================
'Service provided by Telerik (www.telerik.com)
'Conversion powered by NRefactory.
'Twitter: @telerik
'Facebook: facebook.com/telerik
'=======================================================


NOT : Fazla vaktim olmadığından kendi programımdan kopyalayıp buraya yapıştırdım. Senin için önemli olan DataAdapter ile başlayan kısım yani :


Using adapter As New MySqlDataAdapter("SELECT AnahtarDeger,DonemAdi FROM donemler WHERE Durum=1", cnn)
Dim dt As New DataTable()
adapter.Fill(dt)

lueDonemler.Properties.DataSource = dt
lueDonemler.Properties.ValueMember = "AnahtarDeger"
lueDonemler.Properties.DisplayMember = "DonemAdi"
End Using
10/07/2014, 14:56

tetikçi_61

Kod:
Private Sub optik(ByVal SQL As String)
        Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='veri.mdb'")
        Dim dt As New DataTable("omarka")
        Dim adapter As New OleDbDataAdapter(Sql, baglanti)
        adapter.Fill(dt)

        ComboBox3.DataSource = dt
        ComboBox3.ValueMember = "markaadi"
        ComboBox3.DisplayMember = "fiyat"


    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        optik("SELECT markaadi,fiyat FROM omarka ORDER BY markaadi")
        If ComboBox3.ValueMember = "markaadi" Then

            TextBox22.Text = ComboBox3.DisplayMember("fiyat")

        ElseIf ComboBox13.Text = "Güneş Gözlüğü" Then

        ElseIf ComboBox13.Text = "Lens" Then

        End If

    End Sub

Üstadım Senin verdiğin kodları uygulayamadım fakat sendekileri bendekilere biraz entegre ettim bu seferde fiyatı textboxda değilde combobox3 te çıkmaya başladı
10/07/2014, 16:06

alpeki99

Keşke iki dakika boş bir proje oluşturup örneği ekleseydiniz daha çabuk hallederdik. Vb.Net ile kodlamadığımdan tam emin olamıyorum ama şöyle bir şey olması gerek:


Private Sub optik(ByVal Sql As String)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='veri.mdb'")
Dim dt As New DataTable("omarka")
Dim adapter As New OleDbDataAdapter(Sql, baglanti)
adapter.Fill(dt)

ComboBox3.DataSource = dt
ComboBox3.ValueMember = "fiyat"
ComboBox3.DisplayMember = "markaadi"


End Sub


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
optik("SELECT markaadi,fiyat FROM omarka ORDER BY markaadi")
If ComboBox3.ValueMember = "Bosh" Then

TextBox22.Text = ComboBox3.DisplayMember()

ElseIf ComboBox13.Text = "Güneş Gözlüğü" Then

ElseIf ComboBox13.Text = "Lens" Then

End If

End Sub
10/07/2014, 17:24

tetikçi_61

Kusura bakma üstadım aklımdan çıkmış başta atmam gerekirdi. projedeki marka ekle orada temsili . Çalıştığım projede bir formda marka ekle ile veritabanına marka ekliyorum. sonra bu formda gözlük çeşidini seçtikten sonra işle butonuyla gözlük çeşidine göre o markalar combobox'a geliyor. bende o markayı seçip fiyat işle butonuna tıkladığım zaman fiyat bölümüne fiyatı geliyor.
11/07/2014, 10:09

alpeki99

Görevi sadece combobox3'e markalari ve fiyatları yüklemekle görevli bir tane yordam ekledim.


Private Sub MarkalariYukle()

Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\\veri.mdb")
Dim dt As New DataTable
Dim adapter As New OleDbDataAdapter("SELECT fiyat,markaadi FROM omarka ORDER BY markaadi", baglanti)
adapter.Fill(dt)

ComboBox3.DataSource = dt
ComboBox3.ValueMember = "fiyat"
ComboBox3.DisplayMember = "markaadi"

End Sub

Formun yüklenmesi (Load) olayında yukarıdaki yordamı çağırdım:


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MarkalariYukle()
End Sub

İşle butonuna tıklayınca combobox3'te hangi marka seçili ise o markanın fiyatını textbox22'ye yazdırdım:


Private Sub isle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles isle.Click


TextBox22.Text = ComboBox3.SelectedValue


End Sub

Sendeki yüklü olan Visual Studio bendekinden farklı sürüm olduğundan proje olarak yükleyemiyorum.
11/07/2014, 10:53

tetikçi_61

üstadım çok sağolasın Allah razı olsun eline koluna sağlık.
1 2