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

1 2 3 4 5 6 7 8
09/05/2015, 00:44

dr.Arnes

Merhaba,
Gerçekten çok güzel bir paylaşım olmuş, emeğinize sağlık.

Sayenizde programlama için Start verdim kendime :=)
07/02/2016, 15:28

salotuna2

(27/02/2011, 22:34)ercansahin yazdı: 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.



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.. hocam dosyayı indirmek için tıklıyorum fakat giriş yap kısmı çıkıyor
07/02/2016, 15:59

alpeki99

Dosyayı indirebildim sorun yok. Anlık bir sorun çıkmış olabilir lütfen tekrar deneyin.
07/02/2016, 16:01

salotuna2

(07/02/2016, 15:59)alpeki99 yazdı: Dosyayı indirebildim sorun yok. Anlık bir sorun çıkmış olabilir lütfen tekrar deneyin.

hocam tekrar tekrar denedim şimdi gene olmuyor dosyatc ye upload edip özelden veya buradan atarmısınız gerçekten gerekli benim için
07/02/2016, 16:08

alpeki99

Birinci mesajın sonuna link olarak ekledim.
07/02/2016, 16:10

salotuna2

(07/02/2016, 16:08)alpeki99 yazdı: Birinci mesajın sonuna link olarak ekledim.

Teşekkür ederim iyi forumlar
1 2 3 4 5 6 7 8