Datareader ile Kayıt Kontrolü
Bu makalemizde Access veritabanındaki kayıtlar arasında Ada göre sorgulama yapıp, aynı isimde kaç kayıtın bulunduğunu göreceğiz.
Formunuza 1 adet DataGridview ve Button ekleyin. Veritabanınızı Şekil 1 deki gibi oluşturun.
Imports System.Data.OleDb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=kayitlar.mdb;")
Dim adp As New OleDb.OleDbDataAdapter()
adp.SelectCommand = New OleDb.OleDbCommand("Select * From liste", baglan)
Dim CB As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(adp)
Dim cmd As New Data.OleDb.OleDbCommand("Select * From liste", baglan)
baglan.Open()
Dim ds1 As New DataSet()
adp.Fill(ds1)
DataGridView1.DataSource = ds1.Tables(0)
baglan.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ad As String
Dim sayi As Integer
ad = InputBox("Ad giriniz")
Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=kayitlar.mdb;")
Dim komut As New OleDbCommand("", baglan)
Dim veri As OleDb.OleDbDataReader
baglan.Open()
komut.CommandText = "SELECT COUNT(*) FROM liste WHERE Ad=‘" & ad & "‘"
‘veya Like komutu kullanılarak bir kaç harf girerek aşağıdaki gibi arattırma yaptırabilirsiniz.
‘komut.CommandText = "SELECT COUNT(*) FROM liste WHERE Ad LIKE ‘%" + UCase(a) + "%‘"
komut.ExecuteNonQuery()
veri = komut.ExecuteReader(CommandBehavior.SingleResult)
Do While veri.Read
sayi = veri(0)
Loop
If sayi > 1 Then
MessageBox.Show("Veritabanındaki kayıtlar içerisinde " & ad & " isimli" & Chr(10) & sayi & " adet kayıt bulunmaktadır", "Kayıt Sorgulama", MessageBoxButtons.OK)
Else
MessageBox.Show(ad & " isimli tek kayıt bulunmaktadır", "Kayıt Sorgulama", MessageBoxButtons.OK)
End If
baglan.Close()
End Sub
End Class
Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN