Kayıt sorgulamalarını girilen ad ve soyada göre yapacağız. Son olarak ta txtAd_TextChanged a yazılan kodla txtAd.Text e girilen ad veritabanında kayıtlı ise ona ait diğer verileri (Öğrenim, Birim vb…) TextBox lara çekeceğiz.
Şekil 4
Form1.vb
Imports System.Data.OleDb
Public Class Form1
Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bilgi.mdb;")
Dim komut As New OleDb.OleDbCommand
Dim dr As OleDb.OleDbDataReader
Dim sorgu As String
Private Sub btnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKaydet.Click
baglan.Open()
sorgu = "Select * From personel Where Ad='" & txtAd.Text & "' and Soyad='" & txtSoyad.Text & "' "
komut = New OleDb.OleDbCommand(sorgu, baglan)
dr = komut.ExecuteReader()
While dr.Read
'girilen kayıt girişi veritabanında kontrol ediliyor.
'aynı kayıt girişi veritabanında varsa, kaydımızın gerçekleşmediği
'mesajı veriyoruz.
MsgBox(String.Concat(txtAd.Text, txtSoyad.Text) & " kaydı daha önce yapılmıştır.")
baglan.Close()
Exit Sub
End While
baglan.Close()
baglan.Open()
'veritabanına insert into metoduyla yeni kayıt girişi
'yapıyoruz.
sorgu = "Insert into personel(Ad,Soyad,Ogrenim,Birim,Adres) values('" & txtAd.Text & "','" & txtSoyad.Text & "', '" & txtOgrenim.Text & "', '" & txtBirim.Text & "', '" & txtAdres.Text & "')"
komut = New OleDb.OleDbCommand(sorgu, baglan)
komut.ExecuteNonQuery()
MsgBox(String.Concat(txtAd.Text, txtSoyad.Text) & " kaydı yapıldı.")
baglan.Close()
End Sub
Private Sub txtAd_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAd.TextChanged
'txtAd.Text e girilen ada göre veritabanındaki verileri
'diğer textboxlara getireceğiz.
baglan.Open()
sorgu = "Select * From personel Where Ad='" & txtAd.Text & "' "
komut = New OleDb.OleDbCommand(sorgu, baglan)
dr = komut.ExecuteReader()
txtSoyad.Text = ""
txtOgrenim.Text = ""
txtBirim.Text = ""
txtAdres.Text = ""
While dr.Read
'eğer txtAd.Text e girilen değer veritabanındaki
'değere eşitse döngüye girip, bilgiler txtboxlara
'alınıyor.
txtSoyad.Text = dr.Item("Ad")
txtSoyad.Text = dr.Item("Soyad")
txtOgrenim.Text = dr.Item("Ogrenim")
txtBirim.Text = dr.Item("Birim")
txtAdres.Text = dr.Item("Adres")
End While
baglan.Close()
End Sub
End Class
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN
2 comments:
dr = komut.ExecuteReader()
bu komut satırında Where söz dizimi hatası veriyor nasıl düzeltebilirim.
where den sonra kendi veri tabanındaki id yi yazıcaksın
"Select * From veri Where adres='" & textbox1.text & "'"
şeklinde olucak sonunda "'" şeklinde tırnağı kapamayı unutma
Yorum Gönder