none
C# Veritabanından Kolon Çekme RRS feed

  • Soru

  • Merhabalar şöyle bir sorunum var benim şimdi ben aşağıdaki tablodaki isim kolonundaki verileri listbox içerisine çekebiliyorum.Yapmak istediğim.Bu listbox içerisinden hangi veriye tıklanırsa örneğin sabır verisine tıklandığında not kolonundaki sabırla ilgili olan veriyi richtextbox içerisine göstermek istiyorum.Yardımcı olursanız sevinirim :)

    listbox içerisine isim kolonundaki verileri çektiğim kodlarda aşağıdaki gibi:

                using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Application.StartupPath+ "\\data.mdb;Jet OLEDB:Database Password=risale264335;"))
                {
                    OleDbDataAdapter da = new OleDbDataAdapter("select * from veriler", con);
                    DataTable dt = new DataTable();
                    listBox1.DataSource = dt;
                    da.Fill(dt);
                    listBox1.DisplayMember = "isim";
                    listBox1.ValueMember = "id";
                }

    9 Kasım 2018 Cuma 09:28

Yanıtlar

  • İkinci kutudaki kodları ListBox kontrolünün SelectedIndexChanged metoduna yazmalısınız.

    Kodları düzenledim. Bu haliyle kullanabilirsiniz.


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Bay Coder 9 Kasım 2018 Cuma 19:09
    9 Kasım 2018 Cuma 18:12

Tüm Yanıtlar

  • DataTable dt = new DataTable();
    using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Application.StartupPath+ "\\data.mdb;Jet OLEDB:Database Password=risale264335;"))
    {
        using (OleDbDataAdapter da = new OleDbDataAdapter("select * from veriler", con))
        { 
            da.Fill(dt);
        }
    }
    listBox1.DisplayMember = "isim";
    listBox1.ValueMember = "not";
    listBox1.DataSource = dt;
    listBox1'de tıklanan seçeneğin Value değerini RichTextBox.Text özelliğine eşitleyin.

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    9 Kasım 2018 Cuma 10:30
  • Zaten access kullanıyorsanız çekmeniz gereken en önemli veri sabır , ihtiyacınız çok olur :)

    Size veritabanı kullanmanızı öneririm ; MSSQL,MongoDB,LiteDB,SQLite,BrighstarDB,.....vb.

    Ayrıca sürekli iletişim halinde değilseniz (veritabanı ile),tablonun karşılığı bir sınıf oluşturun sonra tüm tabloyu çekip neyi bulmak istiyorsanız linq ile arayın.

    Yada Entity Framework kullanın işi o yapsın.

    Şu işine yarar.

    9 Kasım 2018 Cuma 10:30
  • Teşekür ederim yanıtınız için kendi ihtiyacım için yaptığım basit bir program olduğu için sql server kullanmak istemedim açıkçası :)
    9 Kasım 2018 Cuma 11:01
  • murat hocam eşitleme bölümünü anlayamadım şu şekilde yaptım ama sanırım yanlış yaptım :)

    listBox1.SelectedValue = richTextBox1.Text;

    bir de ben bunu butonun içine ekledim yani kodların bütünü şu şekilde oldu: Böyle yaptığımda hocam listbox da hangi değeri seçersem seçeyim.Aynı değer gösteriliyor.Muhtemelen bir hata yaptım :)

     using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Application.StartupPath+ "\\data.mdb;Jet OLEDB:Database Password=risale264335;"))
                {
                    OleDbDataAdapter da = new OleDbDataAdapter("select * from veriler", con);
                    DataTable dt = new DataTable();
                    listBox1.DataSource = dt;
                    da.Fill(dt);
                    listBox1.DisplayMember = "isim";
                    listBox1.ValueMember = "id";
                }
    
                DataTable dt2 = new DataTable();
                using (OleDbConnection con2 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\data.mdb;Jet OLEDB:Database Password=risale264335;"))
                {
                    using (OleDbDataAdapter da = new OleDbDataAdapter("select * from veriler", con2))
                    {
                        da.Fill(dt2);
                    }
                }
                listBox1.DisplayMember = "isim";
                listBox1.ValueMember = "not";
                listBox1.DataSource = dt2;
    
                listBox1.SelectedValue = richTextBox1.Text;
            }


    • Düzenleyen Bay Coder 9 Kasım 2018 Cuma 11:13
    9 Kasım 2018 Cuma 11:07
  • Sadece,

                DataTable dt2 = new DataTable();
                using (OleDbConnection con2 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\data.mdb;Jet OLEDB:Database Password=risale264335;"))
                {
                    using (OleDbDataAdapter da = new OleDbDataAdapter("select * from veriler", con2))
                    {
                        da.Fill(dt2);
                    }
                }
                listBox1.DisplayMember = "isim";
                listBox1.ValueMember = "not";
                listBox1.DataSource = dt2;

    ve

    private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        richTextBox1.Text = $"{listBox1.SelectedValue}";
    }


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    9 Kasım 2018 Cuma 11:22
  • Teşekür ederim yanıtınız için kendi ihtiyacım için yaptığım basit bir program olduğu için sql server kullanmak istemedim açıkçası :)

          Ne güzel ama teknik açıdan bakınca bu  embedded database kullanmamanızı açıklamaz.Bende oraya sadece mssql yazmadım.

          Neyse başarılar...

    9 Kasım 2018 Cuma 12:47
  • Murat hocam kodların tamamını buton içerisine ekledim.İlk olarak domuzla ilgili olan veri richtextbox aktarılmış bir şekilde geliyor.Fakat sabır ı seçtiğimde yine aynı şekilde domuzla ilgili olan veriyi gösteriyor.Dediğim gibi kodların tamamını butona ekledim acaba orada mı hata yaptım?
    9 Kasım 2018 Cuma 15:26
  • Teşekkür ederim :)
    9 Kasım 2018 Cuma 15:28
  • İkinci kutudaki kodları ListBox kontrolünün SelectedIndexChanged metoduna yazmalısınız.

    Kodları düzenledim. Bu haliyle kullanabilirsiniz.


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Bay Coder 9 Kasım 2018 Cuma 19:09
    9 Kasım 2018 Cuma 18:12
  • Çok teşekkür ederim Murat hocam sorunum çözüldü.Kodların mantığını da kelimeleri çevirerek anladım çok sağolun :)
    9 Kasım 2018 Cuma 19:09