Skip to main content

AccessTr.neT


Vbnet access bağlantısı, ekleme, güncelleme, silme vs.

ercansahin
ercansahin
44
70735

Vbnet access bağlantısı, ekleme, güncelleme, silme vs.

#1
Vb.net ile programlama kapsamında Access vt.bağlantı, veri giriş, güncelleme, silme, ComboBox, DataGridView ile veri gösterme vb. işlemler ile ilgili çalışmaları barındıran bir örnek olup, başlangıç için mutlaka incelenmesi gerektiğini düşünüyorum. Projeyi hazırlarken elimden geldiğince hangi kodun ne işe yaradığına dair notları elimden geldiğince yazmaya çalıştım.

Başlangıç için projenizin içerisinde yer alan bin/debug klasörü içerisine kayıt.mdb dosyamızı yerleştirerek işleme başlıyoruz. Bu mdb dosyamızda oluşturacağımız tabloya Kayitler ismini verelim. Tablo içerisine ise;
TckimlikNo
AdiSoyadi
BabaAdi
Ogrencino
DogumYeri
Dogumtarihi
Aciklama
Alanlarını oluşturuyoruz. Şimdilik Tüm alanların Metin özellikli olmasına dikkat edelim.
Bunun akabinde projemizde oluşturacağımız Form1 üzerine resimde yer alan nesneleri yerleştiriyoruz.

[Resim: 2rxh6r7.jpg]

Projemizde yer alacak kodların çalışması için kod editörümüzün en üstüne
Imports System.Data.OleDb
satırını yazıyoruz.
Sonraki adımda, DataGridView nesnemize tablomuzdaki verileri listelemek maksadıyla,
'DataGridView nesnesine verileri aktar
Private Sub Listele(ByVal Sql As String)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'") 'Veritabanımızın yerini belirtiyoruz.
Dim veriler As New DataTable("Kayitlar")
Dim adapter As New OleDbDataAdapter(SQL, baglanti)
adapter.Fill(veriler) 'buradaki veriler oluşturduğumuz sanal tablo.
DataGridView1.DataSource = veriler 'veri tabanından gelen kayıtları DataGridView'e aktarıyoruz .

End Sub
kodunu yazıyoruz.
Aynı şekilde ComboBox’a verilemizin aktarılması için;
Private Sub doldur()
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")

baglanti.Open()
Dim komut As New OleDb.OleDbCommand("SELECT AdiSoyadi FROM Kayitlar ORDER BY AdiSoyadi", baglanti)

Dim oku As OleDb.OleDbDataReader
oku = komut.ExecuteReader()
While oku.Read()
ComboBox1.Items.Add(oku("AdiSoyadi"))
End While

baglanti.Close()

End Sub
yazıyoruz.
İşlemlerin devamı için Form1’in Load olayına;
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
Listele("SELECT * FROM Kayitlar'")
doldur()

End Sub
yazıyoruz.
Çalışmamız esnasında form üzerindeki TextBox’ların temizlenmesi için tekrar takrar yazmamak için;
'formumuzun üzerindeki nesneleri temizle
Private Sub Temizle()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox7.Clear()
End Sub
kodunu yazıyoruz.
Şimdi sıra geldi, form üzerinde yer alan TextBox’lara yazdığımız verilerin tablomuza kaydedilmesine, bunun için;
'KAYDET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Me.TextBox1.Text = "" Then
MsgBox("Lütfen TCKimlikNo Alanını Doldurunuz. Bu Alan Boş Bırakılamaz.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
Else

Dim Sql As New String("INSERT INTO Kayitlar (TckimlikNo,AdiSoyadi,BabaAdi,Ogrencino,DogumYeri,Dogumtarihi,Aciklama) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')")
Sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Yandaki Girdiğiniz Veriler Veri Tabanına Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Tebrikler")
End If
Listele("SELECT * FROM Kayitlar'")
baglanti.Close()
Temizle()

End If

Me.ComboBox1.Text = ""
End Sub
yazıyoruz.
Tablomuzda yer alan verilerin düzenlenmesi maksadıyla;
'DEĞİŞİKLİKLERİ KAYDET.
'Burada DataGrid içerisinden seçtiğimiz kaydı düzenleyerek kaydetmemize yarayan kodlar vardır.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Me.TextBox1.Text = "" Then
MsgBox("Lütfen Kayıt Seçiniz.", MsgBoxStyle.Exclamation, "DİKKAT")
Else
Dim Sql As New String("UPDATE Kayitlar SET TckimlikNo='{0}',AdiSoyadi='{1}',BabaAdi='{2}',Ogrencino='{3}',DogumYeri='{4}',Dogumtarihi='{5}',Aciklama='{6}' WHERE TckimlikNo='{7}' ")
Sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, DataGridView1.CurrentRow.Cells(0).Value)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Değiştirmiş Olduğunuz Veriler Doğrultusunda Kayıtlar Güncellenmiştir.", MsgBoxStyle.Exclamation, "Değişiklik Uyarısı")
End If
Listele("SELECT * FROM Kayitlar'")
baglanti.Close()
Temizle()
End If
Me.ComboBox1.Text = ""
End Sub
kodumuzu yazıyoruz.
Silme işlemlerinin yapılabilmesi maksadıyla;
'Sil Butonu
'DataGrid üzerinden seçilen kaydı silmemize yarar.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If Me.TextBox1.Text = "" Then
MsgBox("Lütfen Öncelikle Kayıt Seçiniz.", MsgBoxStyle.Exclamation, "DİKKAT")
Else
Dim Sql As New String("DELETE FROM Kayitlar WHERE TckimlikNo='{0}' ")
Sql = String.Format(sql, DataGridView1.CurrentRow.Cells(0).Value)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Listeden Seçmiş Olduğunuz Veriler Silinmiştir.", MsgBoxStyle.Exclamation, "Silme İşlemi")

End If
Listele("SELECT * FROM Kayitlar'")
baglanti.Close()
Temizle()
End If
End Sub
kodunu yazıyoruz.
DataGridView içerisinde yer alan verilerden hangisi üzerinde işlem yapacağımızı belirlemek maksadıyla;
'DataGrid tıklandığında ilgili kaydın Metin Kutularına aktarılması.

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
TextBox1.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(0).Value), "", DataGridView1.CurrentRow.Cells(0).Value) 'İlgili alan boş ise TextBox'a boş olarak ataması.
TextBox2.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(1).Value), "", DataGridView1.CurrentRow.Cells(1).Value)
TextBox3.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(2).Value), "", DataGridView1.CurrentRow.Cells(2).Value)
TextBox4.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(3).Value), "", DataGridView1.CurrentRow.Cells(3).Value)
TextBox5.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(4).Value), "", DataGridView1.CurrentRow.Cells(4).Value)
TextBox6.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(5).Value), "", DataGridView1.CurrentRow.Cells(5).Value)
TextBox7.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(6).Value), "", DataGridView1.CurrentRow.Cells(6).Value)
End Sub
kodunu yazmamız gerekmektedir.
Daha önce yazdığımız Temizle() kodunu işlerlik kazandırmak maksadıyla;
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Temizle()
End Sub
yazmamız yeterli olacaktır.
Sıra geldi ComboBox’tan kayıt seçildiğinde DataGridView içerisinden seçim yapmaya;
Private Sub ComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged
If Me.ComboBox1.Text > "" Then

Dim Sql As New String("SELECT * FROM Kayitlar WHERE Kayitlar.AdiSoyadi='{0}'")
Sql = String.Format(sql, ComboBox1.SelectedItem)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Hatayı Kontrol Ediniz.", MsgBoxStyle.Exclamation, "Silme İşlemi")

End If
Listele(sql)
baglanti.Close()
Else
Dim Sql As New String("SELECT * FROM Kayitlar '")
Sql = String.Format(sql, ComboBox1.SelectedItem)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Hatayı Kontrol Ediniz.", MsgBoxStyle.Exclamation, "Silme İşlemi")

End If
Listele(sql)
baglanti.Close()
End If
End Sub
yazmalıyız.
ComboBox ile seçtiğimiz verinin işlem sonrasında temizlenmesi ve DataGridView içerisinde tüm kayıtların gösterilmesini sağlamak için ise;
Private Sub Button6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.ComboBox1.Text = ""
End Sub
kodunu yazıyoruz.
Son olarak Formumuzu kapatmak için;
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Close()
End Sub
kodumuzu yazarak işlemleri tamamlıyoruz.
Bu işlemlerden sonra projemizi çalıştırarak işlerliğini test edebiliriz.

Örnek ile birlikte incelendiğinde umarım faydalı olur.

Off yoruldum..Img-grin))Kolay gelsin.
.rar WindowsApplication2.rar (Dosya Boyutu: 99,06 KB | İndirme Sayısı: 32)
Cevapla
#2
Ercan Hocam vb.net ten anlamam ama çok emek verdiğiniz belli oluyor. Çok teşekkürler.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#3
Sn.BlackEagle Elinize Sağlık.İyi Çalışmalar
Cevapla
#4
sevgili Ercan Hocam
accesteki ustalıgını Vb'de de göstermişsiniz,Öyle güzel açıklayarak anlatmışsınızki bu çok kişiye temel olabilecek örnek olmuş,bu degerli bilgileri bizimle paylaştgınız için çok teşekkür ederim
Ve size Rep vermeden geçmek ise haksızlık olur diyorum...
Cevapla
#5
Eline sağlık Ercan hocam.
Cevapla
#6
Elinize sağlık faydalı bir çalışma...
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task