Ms Access, Php, c#, Görsel Eğitim, Joomla...

DataGridView Uzerinde Kayit GuncellemeForm üzerinde yer alan DataGridView nesnesinde verileri göstermek çoğu kişi için sıradandır muhtemelen. Eğer DataGridView bileşeni içinde yapılan değişiklikleri kaydetme ya da güncelleme işleminin nasıl yapıldığı ile ilgili bir örnek ihtiyacınız varsa konunun devamı size hitap ediyor.

Öncelikle form üzerine DataGridView bileşeni ve bir buton ekliyoruz. Bileşenlerin isimleri dgvPersonel ve btnGuncelle olarak veriyoruz.

 

DataGridView DataSet Form TasarımıForm başlığına çift tıklayarak Formun Load olayına geçiş yapalım. Örnekte Microsoft Access veritabanını tercih ediyoruz. Bu veritabanına bağlanmak için Formun genelinde geçerli olacak şekilde Connection tanımlamasını yapıyoruz. Ayrıca verileri Formda gösterebilmek için gerekli diğer değişkenleri de tanımlıyoruz.

 

  Dim cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=OrnekVeritabani.mdb")
  Dim ds As DataSet
  Dim adp As OleDbDataAdapter
  Dim cbuilder As OleDbCommandBuilder

 

Formun Load olayına yazacağımız kodlar ile verileri DataGridView üzerinde göstereceğiz:

  Try

      If cnn.State = ConnectionState.Closed Then
        cnn.Open()
      End If

      adp = New OleDbDataAdapter("SELECT * FROM donemler", cnn)
      ds = New DataSet()
      adp.Fill(ds, "Donemler_Tablosu")
      dgvDonemler.DataSource = ds.Tables(0)

    Catch ex As Exception
      MsgBox( "Veritabanı hatası : " & ex.Message )
    End Try

 

3. ve 5. satırlar arasında eğer veritabanına bağlantı kapalı ise açma işlemini yapıyoruz.

7. satırda DataAdapter ile verileri donemler tablosundan çekiyoruz.

8. satırda ise DataSet tanımlaması yapıyoruz. Anahtar olan aslında bu adım. Çünkü normalde hiç DataSet kullanmadan verileri çekip gösterebiliyoruz ancak burada DataSet ile sanal bir tablo içinde verileri saklamış olacağız. Değişiklikler bu sanal tablomuz içinde yapılacak. Eğer kaydetmeye karar verirsek asıl tabloda güncelleme işlemi yapmış olacağız.

9. satırda ise sanal tablomuza "Donemler_Tablosu" ismini vererek verileri doldurma işlemini gerçekleştiriyoruz.

10. satırda ismi dgvDonemler olan DataGridView'in veri kaynağını DataSet'imizin içindeki ilk tablo olarak tanımlıyoruz. Böylelikle veriler artık DataGridView'de gösterilmiş oluyor.

Açıklamaya bilmem gerek var mı ama diğer satırlar yani 1. , 12. , 13. , 14. satırlar ise hata yakalamak için kullandığımız satırlar.

Burada bizim örneğimizde, yapılan değişiklikler btnGuncelle isimli butona basınca veritabanına yansıtılacak. Butona basılmadığı sürece veriler kaydedilmeyecek. Butonun tıklanma olayına aşağıdaki kodları yazıyoruz:

 

    Try

      cbuilder = New OleDbCommandBuilder(adp)
      adp.Update(ds, "Donemler_Tablosu")

    Catch ex As Exception
      MsgBox(ex.Message)
    End Try

 

Tüm güncelleme işlemi 3. ve 4. satırda gerçekleşiyor.

3. satırda CommandBuilder tanımlaması yapılıyor ve parametre olarak bizden bir Adapter nesnesi istiyor. Bizim adapter nesnemize isim olarak adp vermiştik.

4. satırda adp isimli Adapter nesnemizin Update fonksiyonuna/metoduna hangi DataSet'te hangi tabloyu güncelleyeceğimizi söylüyoruz.

Tüm işlemler bu kadar ancak bir butona değilde DataGridView'in CellLeave, CellValueChanged, RowLeave vb. olaylarını da kullanarak güncelleme işlemi yaptırılabilir. Yukarıdaki örnek kodlar gelen soru üzerine Vb.Net ile yazıldı ancak converter.telerik.com gibi sitelerden C# kodlarına çevirme işlemini yaptırabilirsiniz.

Programı çalıştırdıktan sonra DataGridView içindeki verilerde değişiklik yaptıktan sonra Güncelle butonuna bastığınızda güncelleme işlemi gerçekleşecek.

Yorum ekleme hakkınız bulunmamaktadır.