C# ile iki tarih arası sorgulama nasıl yapılır? onu öğreneceğiz. Önce bir proje oluşturun. Ardından Windows Form’a Tools menüsünden iki adet DateTimePicker, bir adet buton ve bir adet DataGridView ekleyin.

Şimdi gelelim “Sorgula” butonunun klik olayına. Kod ekranına geçelim.

Ben her zaman ki gibi Data isimli veritabanımı kullanıyorum. Bu örneği Access veritabanında gösteriyorum. MSSQL veritabanına da bir kaç küçük değişiklik yaparak uyarlayabilirsiniz.

using System.Data.OleDb;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb");
        //BURASI VERİTABANI BAĞLANTISI
        DataTable tablo = new DataTable();  // tablo isiminde bir Datatable tanımladık.
        private void button1_Click_1(object sender, EventArgs e)
        {
            bag.Open();
            {
                tablo.Clear();
                OleDbCommand kmt2 = new OleDbCommand("SELECT * FROM Kayit WHERE KayitTarihi BETWEEN @Tarih1 AND @Tarih2", bag);
                kmt2.Parameters.AddWithValue("@Tarih1", dateTimePicker1.Value.Date);
                kmt2.Parameters.AddWithValue("@Tarih2", dateTimePicker2.Value.Date.AddDays(1));
                OleDbDataAdapter adtr = new OleDbDataAdapter(kmt2);
                adtr.Fill(tablo);
                dataGridView1.DataSource = tablo;
            }
            bag.Close();
        }
    }
}

Biraz açıklayalım. Burada önce OleDb kütüphanemizi ekledik. Ardından Access veritabanı bağlantı cümlemizi oluşturduk ve tablo isminde bir DataTable belirledik.

Butonun klik olayındaki komutumuza SQL sorgusunu yazdık. Buradaki SQL sorgusunu açıklayacak olursak, Kayit tablosundaki KayitTarihi alanında bulunan Tarih1 ve Tarih2 arasındaki bulunan tüm(*) verileri getir. Bu cümlemizden sonra Tarih1 ve Tarih2’yi parametresini hangi DataTimePicker’lardan alacak onu belirttik ve ardından adaptörümüzün içine komut cümlemizi yollayarak çalıştırdık.

Son olarak çağırdığımız verileri DatagridView’de gösterdik. İşte 2 tarih arası sorgulama bu kadar basit.