Bu örnekte C# Windows Form kullanarak access veritabanında verileri filtreleme işlemi gerçekleştireceğiz. Örneğimizde kullanıcı iki adet DateTimePicker vasıtasıyla tarih aralığı belirtecek ve bu iki tarih arasında TextBox içine girilen metnin (kaydın) veritabanında sorgulanarak DataGridView’de görüntüleyebilecek.
Başlangıç ve Bitiş tarihleri DateTimePicker kontrollerinden ve verinin TextBox kontrolünden alınarak yazılan gerekli Sql sorgusunun çalıştırılarak filtrelenmiş verilerin DataGridView üzerinde gösterimini sağlayan Form Tasarımı ve C# kodları aşağıdaki gibi olacaktır. Örnekte ayrıca Form yüklendiğinde veritabanı dosyasındakitüm verilerin DataGridView üzerinde listelenmeside sağlanacaktır. Bu işlem bir metot içerisinde gerçekleştirilmiştir.
Not : Örnekte Access veritabanı dosyası Proje klasörü altında ../bin/Debug/ klasörü altına kaydedilmiştir.
dbServis.accdb veritabanı:
C# Kodları:
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.OleDb; namespace veri_filtre { public partial class Form1 : Form { public Form1() { InitializeComponent(); } OleDbConnection con; OleDbDataAdapter da; DataTable dt; private void button2_Click(object sender, EventArgs e) { } void VeriDoldur() { con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=dbServis.accdb"); con.Open(); string sql = "SELECT * FROM servis Where tarih BETWEEN @tar1 and @tar2 and urun=@veri"; DataTable dt = new DataTable(); OleDbDataAdapter adp = new OleDbDataAdapter(sql, con); adp.SelectCommand.Parameters.AddWithValue("@tar1", dateTimePicker1.Value); adp.SelectCommand.Parameters.AddWithValue("@tar2", dateTimePicker2.Value); adp.SelectCommand.Parameters.AddWithValue("@veri", textBox1.Text); adp.Fill(dt); con.Close(); dataGridView1.DataSource = dt; } private void button1_Click(object sender, EventArgs e) { VeriDoldur(); } private void Form1_Load(object sender, EventArgs e) { con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbServis.accdb"); da = new OleDbDataAdapter("SELECT * FROM servis", con); dt = new DataTable(); con.Open(); da.Fill(dt); con.Close(); dataGridView1.DataSource = dt; } } } |
Yorum Yap