Skip to main content

AccessTr.neT


DataGridView Veri Güncelleme

DataGridView Veri Güncelleme

#1
Merhaba;

DataGridView dan veritabanına veri kaydede biliyorum. Ancak verileri güncelleme işlemi yapamıyorum. DataGird te görünen tüm verileri tekrar veritabanına yazıyor. Kullanmış olduğum kod aşağıdaki gibidir;

Try
           baglanti.Open()
           Dim sorgu As String
           For a = 0 To DataGridView1.RowCount - 1
               sorgu = ("INSERT INTO donemler(donemler) values ('" & DataGridView1.Rows(a).Cells(1).Value.ToString() & "' )")
               Dim kaydet As OleDbCommand = New OleDbCommand(sorgu, baglanti)
               kaydet.ExecuteNonQuery()
           Next
           baglanti.Close()
           DataGridView1.RowCount = Nothing
           DataGridView1.Refresh()
       Catch ex As Exception
           baglanti.Close()
       End Try

Burada sanırım veri kaydı ve veri güncelleme için farklı bir yol izlemek gerekiyor ancak bir türlü bulamadım. Örnek çalışma ektedir.
Yardımcı olanlara şimdiden teşekkür ederim.
.rar GridGuncelleme.rar (Dosya Boyutu: 72,96 KB | İndirme Sayısı: 18)
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#2
eklemek için : INSERT......
Güncelleme için : UPDATE.....

yapmanız gerekiyor.
Cevapla
#3
Mevlüt hocam;

Dediğiniz gibi yaptım ancak bir türlü olmadı. Update komutunu örnekteki koduma uyarladım. Hata vermiyor ancak bir işlemde yapmıyor. Neyden olduğunu anlayamadım.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#4
benim kodlarım bunlar
Img-grin
Try
            Sql = "Update tbl_Cekler SET alistarihi='" & txtalistarihi.Text & "', evrturu='" & txtevrturu.Text & "', kimden='" & txtkimden.Text & "', bankaadi='" & txtbankaadi.Text & "', subeadi='" & txtsubeadi.Text & "', vadetarihi='" & txtvadetarihi.Text & "', cekno='" & txtcekno.Text & "', hesapno='" & txthesapno.Text & "', tutar='" & txttutar.Text & "', notu='" & txtnot.Text & "', kaydeden='" & txtkaydeden.Text & "', drm='" & txtdrm.Text & "'   WHERE cno =" & txtcno.Text & ""

          
            ConnDB()
            cmd = New OleDbCommand(sqL, conn)
            Dim i As Integer
            i = cmd.ExecuteNonQuery
            If i > 0 Then
                cmd.Dispose()
                conn.Close()
                 MsgBox(" Güncelleme Yapılmıştır..", MsgBoxStyle.Critical, "Güncelleme")
            Else
              
                MsgBox(" Güncelleme başarısız oldu..", MsgBoxStyle.Critical, "Güncelleme")
            End If
        Catch ex As Exception
            MsgBox(ex.Message & " Modül : frm_Cekler - Güncelletbl_Cekler ")
        Finally
            cmd.Dispose()
            conn.Close()
        End Try
Cevapla
#5
Mevlüt hocam;

TextBox ile bu kodladan bende yapabiliyorum sıkıntı olmuyor.
Ancak Bu işlemi ben DataGridView da yapmak istiyorum. Veri ekleme / Güncelleme işlemini TextBox lardan değil DataGirdView üzerinden yapmak istiyorum.
TextBox ta kullandığım Update komutuda DataGridView dan yaptığımda işlemi yapmıyor.

Try
baglanti.Open()
Dim sorgu As String
For a = 0 To DataGridView1.RowCount - 1
sorgu = ("UPDATE donemler SET donemler='" & DataGridView1.Rows(a).Cells(1).Value.ToString() & "' WHERE sira='" & DataGridView1.Rows(a).Cells(0).Value.ToString() & "' )")
Dim kaydet As OleDbCommand = New OleDbCommand(sorgu, baglanti)
kaydet.ExecuteNonQuery()
Next
baglanti.Close()
Catch ex As Exception
baglanti.Close()
End Try

Kodu bu şekilde düzenlediğimde kod ile ilgili bir hata vermiyor ancak herhangi bir işlemde yapmıyor.
İnternette bir iki yazı okudum onlarda DataSet kullanmak gerektiğini yazmışlar ancak herhangi bir örnek kodlama bulamadım.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#6
sayın ustaoglu,

bahsettiğiniz talebinize yönelik olarak;

Try
       baglanti.Open()
       Dim sorgu As String
       For a = 0 To DataGridView1.RowCount - 1
       sorgu = "UPDATE donemler SET  donemler = '" & DataGridView1.Rows(a).Cells(1).Value.ToString() & "'' where sira='" & DataGridView1.Rows(a).Cells(0).Value.ToString() & "'"
       Dim cmd As New OleDbCommand(sorgu, baglanti)
       cmd.ExecuteNonQuery()
           Next
           baglanti.Close()
             Catch ex As Exception
           baglanti.Close()
End Try


yukarıda yazılı kodları deneyiniz.

NOT
alan adlarında eğer METİN Veri Türü ise KESME İŞARETİ (')  kullanınız fakat eğer SAYI ise kullanmayınız.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task