Neler yeni

Yeni mesajlar Yeni konular En çok mesaj En çok tepki En çok görüntülenen

VB.NET'te veritabanına bağlanma kodları(Ekle, Sil, Düzelt)

byayyas

🌱Yeni Üye🌱
Katılım
2 Mar 2010
Mesajlar
2
Tepkime puanı
0
Veritabanın ismi 'VERITABANI' olarak ayarlayın yapacağımız programda kodlar bunlara göre ayarlı bir tablo oluşturun ve içersine 'ADI','SOYADI','NUMARA' adında 3 adet Sütun ekleyin ve 'ADI' Metin ,'SOYADI' Metin ,'NUMARA' Sayı olarak ayarlayın ve tabloyu kaydedip adını 'VERI" olarak ayarlayın. Veri tabanıyla işimiz bitti.(Veri tabanına birkaç veri ekleyin programda sıkıntı yaşamayın)
******************************************************************************************************
Kod yazmadan önce Veritabanını Proje Klasöründeki Bin/Debug içersine atın siz Release modda çalıştırıyor iseniz Bin/Release Klasörüne atın şimdi. VB.NET açıp
Public Class Form1
yazan kodun üzerine
Imports System.Data.OleDb
komutunu aktaralım aksi takdirde aşağıdaki kodların hiçbiri çalışmayacaktır.

Artık Kod yazmaya başlayalım öncelikle DataGridView nesnesine verileri aktarmakla başlayalım ben ayrı bir yordam oluşturup orada yaptım.(Siz Nesnelerin Eventlarında da yapabilirsiniz.)

Private Sub Listele(ByVal SQL As String)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='VERITABANI.mdb'")
Dim veriler As New DataTable("veriler")
Dim adapter As New OleDbDataAdapter(SQL, baglanti)
adapter.Fill(veriler)
DataGridView1.DataSource = veriler
End Sub


Buradaki
(ByVal SQL As String)
bizim SQL yazıp DataGridView'de Göstermemize yarayacak ilerdeki komutlarda nasıl kullanacağını göstereceğim.
Dim baglanti As New OleDbConnection


bölümü Bizim Veritabanımızın Türünü ve nerede olduğu içindir.
Provider=Microsoft.Jet.OLEDB.4.0


Access 2003 tanımlayan Kod
Data Source='VERITABANI.mdb'


burasıda veritabanımızın bulunduğu Dizin.
Dim veriler As New DataTable


burası bizim VB.NET içersinde oluşturduğumuz sanal tablodur.

("veriler")Sanal tablonun ismi.
Dim adapter As New OleDbDataAdapter


bizim veritabanının yeri ve SQL komutunu birleştirip sanal tablomuza aktarmamıza yarayacak bölüm.
adapter.Fill(veriler)


burada artık sanal tablomuza aktardığımız bölüm ve artık verilerimizi program içinde kullanabiliriz.

Son olarak da:
DataGridView1.DataSource = veriler


diyerek artık DataGridView nesnemize aktarıyoruz veri tabanından gelen verileri.

Şimdi bir yordam daha yapcaz buda bizi kod yığıntısından kurtaracak:

Private Sub Temizle()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
End Sub


Kodlardan anlayacağınız gibi formumuzun üzerindeki nesneleri temizliyor. Neden Ekle, Düzenleme ve Silme işleminden sonra kullanıcıyı yormamak için.

Artık Formumuzu Çalıştırmadan önce yapılması gereken ayarlar var.bunları Form_Load Event'ına yazcağız.

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 VERI'")
End Sub

DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically


bu kod satırı bizi DataGridView nesnesinin hücrelerine tıkladığımızda verileri değişrirebilir (veritabanındakileri değil)
Bunu engellemek için.
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect


bu kod ise DataGridView nesnesinde hücreleri tek tek seçmek yerine satırı komple seçmek için.

Bu kodları kendiniz isterseniz Properties bölümünden de değiştirebilirsiniz.

'Listele("SELECT * FROM VERI'")' artık hazırladığımız Listele Adındaki Yordamımızı Çalıştırıp ve SQL adındaki değişkenimize SQL aktarıp DataGridView nesnesinde Gösterilmesini Sağladık.Çalıştırdığınızda veritabanındaki veriler gösterilecektir.
Artık Ekle Buttonunu yerleştirelim.

EKLE BUTONU

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim durum As String
durum = MsgBox("Adı = " & TextBox1.Text & vbNewLine & "Soyadı = " & TextBox2.Text & vbNewLine & "Numara = " & TextBox3.Text & vbNewLine & "Yukarıdaki yazdığınız veriler kayıt edilsinmi '", MsgBoxStyle.Question + MsgBoxStyle.YesNoCancel, "Kayıt Uyarı")
If durum = vbYes Then
Dim sql As New String("INSERT INTO VERI (ADI,SOYADI,NUMARA) values ('{0}','{1}',{2})")
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='VERITABANI.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, "Kayıt Uyarı")
End If
Listele("SELECT * FROM VERI'")
baglanti.Close()
Temizle()
Else

End If

End Sub


Burası Biraz uzun o yüzden kısaltarak anlatacağım şimdi buradaki bazı kodların anlatcağım dersle ilgisi yok aslında ama öğrenilmesi gerekir.

'Durum' adında bir değişken tanımladım ve bu değişkene 'Msgbox'nesnesinden geri dönen veri aktardım.Mesaj pencerelerinde dikkat ederseniz sadece 'Tamam' buttonu yoktur.Evet,Hayır ve İptal butonları bulunur.

Visual Basic'te bunun için 'MsgboxStyle' kodu bulunmaktadır.Bu kodun altında Mesaj kutusundaki ikonlar ve buttonların şekilleri vardır yukardaki Kodu incelerseniz 'MsgBoxStyle.Question + MsgBoxStyle.YesNoCancel' mesaj kutusunun ikonu 'Question' yani Soru işareti ikonu '+' diyerek Sitilleri devam edip 'YesNoCancel' butonları ekledim esas işimize yarayacak bölümde burası YesNoCancel buradaki butonlara basıldığında geriye bir değer atar basılan buttona göre bu değerler

Yes butonu için : 'VbYes'
No butonu için : 'VbNo'
Cancel buttonu için : 'VbCancel''dır

buna göre de programa yön verdik 'İf' yapısını kullanarak basılan butonu tespit edip ona göre çalışmaya devam ettim.Bizi ilgilediren Kodlara geçelim

Dim sql As New String("INSERT INTO VERI (ADI,SOYADI,NUMARA) values ('{0}','{1}',{2})")


Burdaki kodda Ekleme yapmak için SQL var ama Farklı bir yolu var SQL'de ''{0}','{1}',{2}' parametre verdik bu parametreler aşağıdaki koda göre çalışır.

sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text)


Bu kodda parametre sırasıyla çalışır.buna göre SQL deyimimiz çalışacaktır.(parametreler sizin istediğiniz gibi eklenebilir parametrelere karşılık gelecek bir veri olması lazım ekleyeceğiniz parametreye)

Şimdi artık esas ekleme kodlarına gelelim
'baglanti' değişkenimiz gene aynı ama burada adapter nesnesi yok onun yerine 'Dim komutnesnesi As New OleDb.OleDbCommand' Command nesnesi var bu nesne bizim veri tabanında ekleme ve düzenleme gibi değişiklikleri sağlayacak nesnedir.şimdi ekleme işlemine başlamamız için veritabanının içine girmemiz gerekir bunun içinde 'Baglanti.Open()' kodunu kullanıyoruz.

Açtıktan sonra nesnemizi çalıştırıyoruz.' sonuc = komutnesnesi.ExecuteNonQuery()'
'ExecuteNonQuery()' çalıştırmamızı sağlayan kod artık çalıtırdık ama çalıştırma sonucu geriye bir değer atıyor '1' ise veriler veritabanına işlenmiştir '0' ise işlenmemiş anlamındadır.buna göre son olarak onu kontrol edip 'baglanti' nesnesini kapatıp ekleme işlemini bitiriyoruz.'baglanti.Close()'

başta hazırladığımız yordamları burada kullanıyoruz.'Temizle' ve 'Listele' yordamlarını temizleyi çalıştırdığımızda form üzerindeki nesneler boşalıcaktır.'Listeleyi'çalıştırdığımızda ise son eklediğimiz veriyi en altta görüceğiz.

Bundan sonraki kodlar kolay sadece SQL deyimlerini değiştirmemiz yeterli olucak.

Şimdi düzenleme işlemini yapabilmek için önce hangi veriler olduğunu seçmemiz gerekecektir bunu sağlamak için DataGridView Nesnesinin CellClick event'ına kod yazacağız.

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
TextBox1.Text = DataGridView1.CurrentRow.Cells(0).Value
TextBox2.Text = DataGridView1.CurrentRow.Cells(1).Value
TextBox3.Text = DataGridView1.CurrentRow.Cells(2).Value
End Sub


'DataGridView1.CurrentRow.Cells(0).Value' bu kodun anlamı seçili satırın 0. Hücresinin değeri.

Bunları hazırladığımız formdaki metin kutularına aktardık buna göre düzenleme işlemini yapacağız.

DÜZENLE BUTONU

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sql As New String("UPDATE VERI SET ADI='{0}',SOYADI='{1}',NUMARA={2} WHERE ADI='{3}' AND SOYADI='{4}' AND NUMARA={5}")
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text, DataGridView1.CurrentRow.Cells(0).Value, DataGridView1.CurrentRow.Cells(1).Value, DataGridView1.CurrentRow.Cells(2).Value)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='VERITABANI.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 Güncellenmiştir.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")

End If
Listele("SELECT * FROM VERI'")
baglanti.Close()
Temizle()
End Sub


Burada anlatılıcak başka kod yok oyüzden direk olarak Sil butonunun kodlarını yazıcağım.

SİL BUTONU

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim sql As New String("DELETE FROM VERI WHERE ADI='{0}' AND SOYADI='{1}' AND NUMARA={2} ")
sql = String.Format(sql, TextBox1.Text, TextBox2.Text, TextBox3.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='VERITABANI.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 Veri Silinmiştir.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")

End If
Listele("SELECT * FROM VERI'")
baglanti.Close()
Temizle()
End Sub


:smile::smile::smile:
 

Benzer konular

Üst