14 Mayıs 2013 Salı

Veritabanı - 9... Order By ile İstenilen Numara Aralığındaki Öğrencileri Listeleme...

Daha önceki örneklerimizde kullandığımız okul isimli access dosyamızı yine kullanıyoruz... Bunun hazırlanışı için veritabanı 1-2-3 derslerine bakılabilir... Aynı veritabanı üzerinde bu sefer girilecek olan iki numaranın arasında kalan bütün veriler gösterilecektir... 

Burada order by komutu ile birlikte And operatörünü de kullanıyoruz... Bir aralık içerisindeki veriler kontrol edilecekse veya birden fazla kontrolümüz varsa bu durumda And, Or gibi operatörler kullanılabilir... 

Form tasarımı aşağıdaki gibi olacaktır... 

Program çalıştığında uygun değerler girildiğinde aşağıdaki gibi sonuçlar gösterilecektir... 

Programın kodları ise aşağıdaki gibi olacaktır... 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.OleDb;
namespace Listeleme_2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=okul.mdb");
        OleDbCommand komut = new OleDbCommand();

        private void button1_Click(object sender, EventArgs e)
        {
            // İstenilen aralıktaki numaraları listeliyoruz... Bunun için Order By ile birlikte And operatörünü de kullanıyoruz... 
            baglanti.Open();
            komut.CommandText = "SELECT * FROM ogrenci WHERE ([No] > "+textBox1.Text+") AND ([No] < "+textBox2.Text+") ORDER BY [No]";
            komut.Connection = baglanti;

            OleDbDataAdapter da = new OleDbDataAdapter(komut);
            DataSet ds = new DataSet();
            da.Fill(ds, "listele");
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "listele";

            baglanti.Close();
        }
    }
}