28 Haziran 2009 Pazar

GridView Kullanımı2-Database'den Veri Çekmek

Herkese Merhaba;
Daha önceki yazımda hiç koda girmeden sihirbaz yardımıyla verileri GridView'a bağlayabilmiştik.Ama fark ettiğiniz gibi tasarımın içinde sorgular,bağlantı cümlecikleri vs..Karmakarışık bir kod üretti hemde tasarım kodlarının içine!. Şimdi asp.net'in nimetlerinden code-behind programming i kullanarak verilerimizi tasarıma hiç kod yazmadan projemizin .cs uzantılı dosyası vasıtasıyla verilerimizi GridView'a bağlayalım.
Bir GridView sürükleyelim ve .cs uzantılı dosyamıza şunları ekleyelim:

21 SqlConnection conn = new SqlConnection();
22 conn.ConnectionString = "Data Source=CAGDAS;Initial Catalog=Deneme;Integrated Security=True";
23 SqlCommand cmd = new SqlCommand();
24 cmd.CommandText = "select * from Urunler";
25 cmd.Connection = conn;
SqlConnection : Bir bağlantı nesnesi tanımlar.
Conneciton String: Bağlantı cümleciğidir.Bağlantıyı seçtiğimiz veritabanıyla ilişkilendirir.
SqlCommand : Veri tabanı üzerinde sorgulama yapmamızı sağlayan nesnedir.
Command Text : Sorgu cümlesidir.
Connection : Sorgu nesnesini veri tabanıyla ilişkilendirir.
Bu arada sorgu nesnemiz sadece sorgu cümlesi olmak zorunda değil.Eğer veri tabanına daha önceden bir store procedure kaydettiysek onu da kullanabiliriz.Komut textine spnin adını verip cmd.CommandType = CommandType.StoreProcedure
ifadesini koymamız yetecektir.

28 DataSet ds = new DataSet();
29 SqlDataAdapter adapter = new SqlDataAdapter();
30 adapter.SelectCommand = cmd;
31
32
33 adapter.Fill(ds);
DataSet: Veri temsil eder.
SqlDataAdapter: Veri tabanından gelen veriyi dataset'e doldurur.
SelectCommand :Veri tabanından gelicek veriler hangi komut vasıtasıyla çekilcek.
Fill : Adapter nesnesindeki veriyi data sete doldurur.
Evet herşey hazır.Şimdi bağlantımızı açalım ve GridView'a veriyi bağlayalım.
37 conn.Open();
38 GridView1.DataSource = ds;
39 GridView1.DataBind();
40 conn.Close();
Burda unutmamamız gerek nokta GridView'un veri kaynağına bir kaynak gösterdikten sonra DataBind() metodunu kullanmamızdır.this.DataBind() da kullanılabilir.Eğer bu metodu kullanmazsak görüntü elde edemeyiz.
Herkese kolay gelsin:)

Hiç yorum yok:

Yorum Gönder