Anasayfa / C#.Net / C# ile Veritabanındaki Kayıtları DataGridView İçerisinde Gösterme
c# sql server

C# ile Veritabanındaki Kayıtları DataGridView İçerisinde Gösterme

Bir önceki yazımda C# ile Sql Server veritabanına kayıt ekleme işlemlerini anlatmıştım. Şimdi ise veritabanındaki kayıtları formumuz üzerindeki bir DataGridView içerisinde göstermeye çalışacağız. Örneğimizde kullanacağımız önemli sınıf ve nesnelere şöyle bir bakalım.

DataGridView; kullanımı basit, kolaylıkla kişiselleştirilebilen kayıtları tablolar halinde göstermek için tasarlanmış bir kontroldür.

SqlDataAdapter; bellek üzerinde oluşturulan tablo ve kayıtların, veritabanına gönderilmesi ya da veritabanındaki tabloların belleğe çekilmesi işlemlerini gerçekleştiren sınıftır.

DataTable; veritabanından alınan bir tablo örneğini, bellekte temsil eden nesnelerdir.

Tasarım ve kodlama işlemine geçmeden önce veritabanımızdaki musteriler tablomuza birkaç tane kayıt ekleyelim.

sql table
Musteriler Tablosu

Yukarıdaki gibi kayıtlarımızı oluşturduktan sonra formumuzu tasarlamaya başlayabiliriz. Öncelikle tüm müşteri kayıtlarını veritabanından çekerek DataGridView üzerinde göstereceğiz. Daha sonra ise tüm kayıtları değil de yazdığımız isime göre, ilgili kayıtları çeken bir arama kısmı oluşturacağız. Buna istinaden formumuzu aşağıdaki gibi tasarlayalım.

datagridview
Müşteri Bilgileri Penceresi

Form tasarımı tamamlandıktan sonra kodlarımızı yazmaya başlayabiliriz. Veritabanından veri çekme ve datagrid üzerinde gösterme işlemlerini kayitGetir() metodu ile yapıyoruz. Daha sonra istediğimiz şekilde bu metodu çağırabiliriz. Diğer açıklamaları kod aralarına ekledim.

Veritabanındaki tüm kayıtları DataGridView üzerinde gösterdik. Şimdi Ara butonumuza tıkladığımızda isim şartına bağlı olarak kayıtları veritabanından çeken kodlarımızı yazalım. Kodumuzu Ara butonunun click eventi içerisine ekliyoruz.

 Sql Server veritabanından verileri çekerek DataGridView içerisinde gösterik. Bir sonraki konumuz veritabanındaki verileri güncellemek üzerine olacak. Kolay gelsin.

İlginizi Çekebilir!

c# müzik çalar yapımı

C# ile Müzik Çalar Yapımı

Bu dersimde Windows’un kendi müzik çaları olan Windows Media Player’ ı C# içerisin de kullanarak …


9 Yorumlar

  1. kod satırları arasındaki acıklamaların siyah olması kötü olmus güzel anlatım yinede teşekkürler ..

  2. iyi günler . Kısa bi bilgi vereyim, eğer data adapter kullanıyorsan , baglantı open close gerek yoktur. Kendi hallediyor arka planda

  3. merhaba bende databaseden datagridviewa veri çekmek istiyorum fakat tüm tablolar boş olarak geliyor örnek kodum;
    DataTable dt = new DataTable();
    string komut = “SELECT musteriadi,musterisoyadi,gsm FROM [project].[dbo].[musteri]”;
    baglanti = new SqlConnection(@”Data Source=Ali\SQLEXPRESS;Initial Catalog=project;Integrated Security=True”);
    baglanti.Open();
    cmd = new SqlCommand(komut, baglanti);
    da = new SqlDataAdapter(cmd);
    da.Fill(dt);
    dataGridView1.DataSource = dt;
    baglanti.Close()

    fakat dediğim gibi birşey gelmiyor sadece boş kutular nasıl düzeltebilirim? yardım edin lütfen

    • Gecikmiş ama başkalarının işine yarar belki :=) . AutoGenareteColumns GridWiewde true olması gerekiyor. Bir kontrol et . Aynısını yaşadım sorunum oymuş .

  4. Merhabalar,

    Konuyla Biraz alakasız ama yardımcı olursunuz umarım.
    Kullanıcı girişindeki kişiye göre veri çekimini nasıl yaptırabilirim bilginiz var mı?
    Hem kullanıcı girişi hemde bir sonraki formda o kullanıcıya ait bilgileri çekilmesini istiyorum.

    İyi Çalışmalar,TEŞEKKÜRLER.

    • Merhabalar,
      öncelikle login formunun kod kısmında şu fonksiyonu yazıcaksın;
      SqlConnection conn = new SqlConnection(“Database Adresin”);
      private void GetCustomerInfo()
      {
      conn.Open();
      SqlCommand cmd = new SqlCommand(“Select Member_Name, Member_Surname, Member_ID FROM Members WHERE Member_Username = ‘”+ username_TextBox.Text + “‘ “,conn);
      SqlDataReader dr = cmd.ExecuteReader();

      if (dr.Read())
      {
      name = dr[0].ToString();
      surname = dr[1].ToString();
      memberID = Convert.ToInt32(dr[2]);
      }
      conn.Close();
      }

      Daha sonra loginform ‘un load kısmında bu fonksiyonu çağırıcaksın. Ondan sonra tek yapman gereken bilgilerin görülmesini istediğin formun load kısmına şöyle atama yapman;

      Name_lbl.Text = loginFrm.name.ToString();
      Surname_lbl.Text = loginFrm.surname.ToString();

      böylelikle açılan form ‘daki 2 label ‘a isim ve soyisim ‘i yazdırmış olduk. Bilgileri kendi veritabanına göre düzenlersin. Kolay gelsin.

  5. datagridwiev i sql server ile bağladım fakat bir hücresinden veri çekmek istiyorum bir türlü başaramadım

  6. Merhaba.

    No – Ad – Yaş

    1 – u – 10
    2 – a – 14
    3 – b – 17
    4 – c – 14
    5 – e – 10
    6 – u – 11
    7 – g – 12

    böyle bir datagridview var elimde veritabanından çektiğim. Şimdi ben bu verileri

    Yaş – Kişi Sayısı

    10 – 2
    11 – 1
    12 – 1
    14 – 2
    17 – 1

    şeklinde ayrı bir datagridview e aktarabilir miyim. Aynı zamanda ilk verilerin bulunduğu veritabanına ek sil güncelle de yapıyorum. Yani 8. sıraya bir isim ve yaş eklediğimde 2. datanın güncellenmesi de şart.

    Umarım anlata bilmişimdir.

    Şimdiden teşekkürler ?

  7. Merhaba,

    this.Load += new System.EventHandler(this.Form1_Load);

    satırında Form1_Load için ‘VeriGoster’ does not contain a difination for ‘Form1_Load’ and no accessible…. hatası veriyor. Sorun nedir ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload the CAPTCHA.