Skip to main content

AccessTr.neT


Access Veritabanından Visual Basic .net'e İd Numarasına Göre Veri Nasıl Çekebilirim?

Access Veritabanından Visual Basic .net'e İd Numarasına Göre Veri Nasıl Çekebilirim?

Çözüldü #1
Sayın forum üyeleri final sınavım için hazırladığım Visual Basic .Net ile yazdığım bir bilgisayar toplama programı var. Access veritabanı kullanıyorum. Access veritabanındaki bilgileri combobox'lara falan getirmekte sorun yok ancak yapamadığım bir kısım var. Access veritabanında eklediğim her parçanın otomatik sayı ile bir id numarası var. Bende formumdaki textbox1 öğesine bu id numarasını okuyarak sadece ilgili ürünün fiyatını getirmeye çalışıyorum ancak başaramadım. Bir kaç farklı kod denedim ancak sadece birini çalıştırabildim o da veritabanındaki son fiyatı getirdi sadece.
Yardım edebilirseniz çok sevinirim. Şimdiden teşekkürler.


Örneğin combobox'a parça adı çektiğim kodum:

If ComboBox1.Text = "İşlemci" Then
            Label2.Text = "İşlemci"
            ComboBox2.Items.Clear()
            Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")
            Dim listek As String
            listek = "select Parça_Adı, Parça_Fiyatı from islemci"
            Dim esk As New OleDb.OleDbCommand(listek, connk)
            connk.Open()
            Dim readerk As OleDbDataReader = esk.ExecuteReader

            Do While readerk.Read
                ComboBox2.Items.Add(readerk("Parça_Adı"))
            Loop
        End If
Cevapla
#2
Yazdığınızdan bir şey anlamadım, ama sanırım yapmak istediğiniz textboxınıza aldığınız parça id nosuna göre fiyatını getirmek. Şu Makale inceleyin size yol gösterecektir.
Cevapla
#3
(29/05/2022, 10:24)atoykan yazdı: Yazdığınızdan bir şey anlamadım, ama sanırım yapmak istediğiniz textboxınıza aldığınız parça id nosuna göre fiyatını getirmek. Şu Makale inceleyin size yol gösterecektir.
Öncelikle kusura bakmayın derslerimden dolayı girip cevap yazamadım. Bir diğer mesele: Yazdığım program Bilgisayar parçalarını seçip bir araya getirerek satın aldığınız bir uygulama. Access ile oluşturduğum ve Access 2003 ile kaydettiğim(mdb) veritabanı adında bir veritabanım var. Bunun içerisinde ayrı ayrı işlemciler tablosu, anakart tablosu, ekran kartı tablosu gibi parçaların bilgisinin olduğu tablolar var. Tabloların sütunları sırasıyla id, Parça_Adı ve Parça_Fiyatı . Benim yapmak istediğim örneğin kullanıcı uygulamadan birinci işlemci modelini seçti yani bu paçanın veritabanındaki id numarası 1. Yani yapmak istediğim işlemciler tablosunda bulunan ve id numarası 1 olan ürünün Parça_Fiyatı bilgisini TextBox1 nesnesine ekle. Bende bunu  şöyle bir kod satırıyla yapmayı denedim;

Public Sub işlemciid1()
        Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")
        Dim listek As String
        listek = "select  Parça_Fiyatı from islemci WHERE id = 1"
        Dim esk As New OleDb.OleDbCommand(listek, connk)
        connk.Open()
        Dim readerk As OleDbDataReader = esk.ExecuteReader
        readerk.Read()
        TextBox1.Text = readerk("Parça_Fiyatı")

    End Sub



ancak burada select Parça_Fiyatı from islemci dememe rağmen gidip anakart bilgilerini getiriyor mesela. Neden böyle yaptığını anlamadım gitti. Acaba diyorum aynı kodun şu versiyonuyla ComboBox2 nesnesine bilgi getirdiği için bir çakışma mı var ama çözemiyorum. o kod:

If ComboBox1.Text = "İşlemci" Then

            Label2.Text = "İşlemci" 

            ComboBox2.Items.Clear()

            Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")

            Dim listek As String

            listek = "select Parça_Adı from islemci"

            Dim esk As New OleDb.OleDbCommand(listek, connk)

            connk.Open()

            Dim readerk As OleDbDataReader = esk.ExecuteReader



            Do While readerk.Read

                ComboBox2.Items.Add(readerk("Parça_Adı"))

            Loop
        End If

Umarım kendimi açıklayabilmişimdir.

Veritabanı ve uygulamadan resimler:
[Resim: do.php?img=11895]
[Resim: do.php?img=11894]
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da