AccessTr.neT
DataGridView Veri Güncelleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Visual Basic .NET (https://accesstr.net/forum-visual-basic-net.html)
+--- Forum: Visual Basic .NET Cevaplanmış Soruları (https://accesstr.net/forum-visual-basic-net-cevaplanmis-sorulari.html)
+--- Konu Başlığı: DataGridView Veri Güncelleme (/konu-datagridview-veri-guncelleme.html)

Sayfalar: 1 2


DataGridView Veri Güncelleme - emir ustaoğlu - 08/10/2016

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.


Cvp: DataGridView Veri Güncelleme - C*e*l*o*y*c*e - 08/10/2016

eklemek için : INSERT......
Güncelleme için : UPDATE.....

yapmanız gerekiyor.


Cvp: DataGridView Veri Güncelleme - emir ustaoğlu - 08/10/2016

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.


Cvp: DataGridView Veri Güncelleme - C*e*l*o*y*c*e - 08/10/2016

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


Cvp: DataGridView Veri Güncelleme - emir ustaoğlu - 08/10/2016

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.


Cvp: DataGridView Veri Güncelleme - atoz112 - 10/10/2016

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.