Vbnet access bağlantısı, ekleme, güncelleme, silme vs.
Tarih
27/02/2011 22:34
Konu Sahibi
ercansahin
Yorumlar
41
Okunma
40195
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



ercansahin
BlackEagle
Kullanici Avatari
Uzman
E.... Ş....
3.733
14/11/2008
Ankara
Ofis 2010 32 Bit
Bugün,18:27
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

Projemizde yer alacak kodların çalışması için kod editörümüzün en üstüne

Visual Basic Code
 Imports System.Data.OleDb

satırını yazıyoruz.
Sonraki adımda, DataGridView nesnemize tablomuzdaki verileri listelemek maksadıyla,

Visual Basic Code
1
2
3
4
5
6
7
8
9
 '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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 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;

Visual Basic Code
1
2
3
4
5
6
7
 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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
 '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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 '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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 '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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 '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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
 '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;

Visual Basic Code
 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;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 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;

Visual Basic Code
 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;

Visual Basic Code
 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.

Aynı ek dosya farklı siteye yüklendi.

Ek Dosyalar
WindowsApplication2.rar


Ek Dosyalar
.rar   WindowsApplication2.rar (Dosya Boyutu: 99,06 KB / İndirme Sayısı: 1.784)
Cevapla


Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
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


life_exciting
Aktif Üye
Kullanici Avatari
Aktif Üye
837
28/12/2009
361
Ankara
Ofis 2003
18/11/2010,00:42
Sn.BlackEagle Elinize Sağlık.İyi Çalışmalar
Cevapla


C*e*l*o*y*c*e
Celosoft Yazılım
Kullanici Avatari
Uzman
M.... B....
2.813
29/10/2008
899
Ankara
Ofis 2010 32 Bit
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


ozanakkaya
sledgeab
Kullanici Avatari
Kurucu
O.... A....
9.023
29/01/2008
Denizli
Memur
Ofis 2010 32 Bit
Bugün,18:22
Eline sağlık Ercan hocam.
Cevapla


akd
Aktif Üye
Kullanici Avatari
Aktif Üye
272
04/11/2008
35
Gaziantep
Ofis 2003
04/09/2016,23:08
Elinize sağlık faydalı bir çalışma...
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Vbnet ile DataGridView kullanımı ve özellikleri ercansahin 8 18.650 30/10/2013, 14:51 darkprinc3
  Vbnet ile Projenin Setup Haline Getirilmesi ercansahin 6 5.304 28/03/2012, 01:00 goodfalles


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya