2 Eylül 2013 Pazartesi

ASP.NET (C)# ile MySQL'den DataReader ile veri çekme (CSS kodlarıyla yazdırma)

5 comments
C# ile MySQL veritabanından nasıl veri çekebileceğimizi ve çektiğimiz verileri sayfada nasıl gösterebileceğimizi anlatacağım.

Asp.NET kullanmaya başladığımda ilk olarak Gridview yardımıyla veri çekmeyi öğrenmiştim. Ancak bu benim aradığım yöntem değildi. PHP kullananların bildiği gibi orada MySQL'den veri çekmek için while döngüsü içinde kodlar yazılıyor ve verileri istediğiniz şekilde çekebiliyorsunuz. Bunu Asp.NET'te nasıl yapabileceğimi araştırdım ve DataReader ile karşılaştım.


İçerisinden verileri çekeceğim tablo :


MySQL veritabanına nasıl bağlanılacağını bildiğinizi varsayarak devam ediyorum.

Default.aspx dosyamın içerisinde <head>...</head> taglarının içerisine aşağıdaki CSS kodlarımı yazıyorum.


Ve sayfama bir tane label (adı Label1) ekliyorum.

Default.aspx.cs dosyamın içeriği aşağıdaki gibi oluyor.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data;
using MySql.Data.MySqlClient;

public partial class _Default : System.Web.UI.Page
{
    MySqlConnection baglanti = new MySqlConnection("Server=localhost;Database=blog;Uid=root;Pwd='';");
    static MySqlDataReader dr;
    MySqlCommand kmt;

    protected void Page_Load(object sender, EventArgs e)
    {
        baglanti.Open();
        kmt = new MySqlCommand("select * from konu ORDER BY id", baglanti);
        dr = kmt.ExecuteReader();

        while (dr.Read())
        {
            Label1.Text = Label1.Text + "<div id='konu'><div class='resim'><img src='" + dr["resim"].ToString() + "' width='100%' height='100' /></div><div class='baslik'>" + dr["baslik"].ToString() + "</div></div>";
        }

        baglanti.Close();
    }
}

Sayfamı tarayıcıda açtığımda aşağıdaki gibi bir görüntüyle karşılaşıyorum.



Bu yöntemle CSS kodlarınızı daha da geliştirerek istediğiniz şekilde MySQL'den veri çekebilirsiniz.

Umarım yardımcı olabilmişimdir.
If You Enjoyed This, Take 5 Seconds To Share It

5 yorum:

muhammed salih dedi ki...

hocam allah razı olsun çok büyük bir sorunum sonunda oldu .şu datalist hazırcılığından'da kurtuldum sonunda . yemin ediyorum datalist değil illet. datalist kullanarak programcılıkmı yapıyoruz yoksa visual studyocumuyuz anlaşılmıyo . adamlar yazmış bişiler kullanıyoz . kendimiz sıfırdan yapınca daha bir hoş oluyor ve profosyonel

muhammed salih dedi ki...

hocam birde html sayfanızın içeriğinde neler var keşke kaynak kodlarıda verseydiniz benim sayfamda bir tane labelim var ve listelemeye uygun stylerim var .burdaki mantık tam olarak ney . yani labeli köprü olarakmı kullanıyoruz.

Bilgisayar Mühendisi dedi ki...

Kodları labelin içine yazarak gösteriyorum. Başka yöntemler de kullanılabilir. Sayfa kaynağını görüntülediğinizde eklenen kodlar < span id="Label1" > < /span > kodlarının arasında görülür. Ancak dediğim gibi farklı yöntemler de kullanılabilir. Ben fikir vermek için bu şekilde yaptım geliştirmek sizin elinizde :)

muhammed salih dedi ki...

hocam bir sorum daha varda .acaba sayfamızda ben bir div yapısı kurdum yaptığı işlem basitcene aynen bu sizin örneğinizde olduğu gibi yan yana kutu kutu listeleme işlemi acaba divleri html kısmında olan bir dive runat server ve id vererek while döngüsüğnde nasıl döndere bılırız. ado net kısmında sıkıntım yokda while döngüsünün içine ne yazacağımı anlıyamadım. divin id sini yazıyorum ama sonra neyazacağımı çıkaramıyorum . divleri html sayfasında olan (yani default.aspx) bir divi while döngüsünde nasıl döndüre biliriz.

Bilgisayar Mühendisi dedi ki...

Ajax ile yapılabildiğini biliyorum. Belki farklı yöntemler de vardır fakat benim bilgim yok. Ajax ile uğraşmak istemediğim için bu yöntemi kullanıyorum.