Asp.Net Tabloyu Dinamik Olarak Oluşturmak

Kodla Büyü

togius

Süper Üye
Süper Üye
Mesajlar
1,728
uye adlı bir data.mdb (Access) veritabanımızda bir tablomuzun olduğunu varsayalım. b
Kod:
private void VeriBagla(string Str)
    {
        OleDbConnection conn;
        OleDbCommand komut;
        OleDbDataReader oku;

        string Sorgu = "select * from uye where kul_adi like?";
        string Saglayici = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("App_Data\\data.mdb");
        conn = new OleDbConnection(Saglayici);
        komut = new OleDbCommand(Sorgu, conn);
        komut.Parameters.Add("uye", OleDbType.VarChar);
        komut.Parameters["uye"].Value = Str+"%";
        komut.Connection.Open();

        oku = komut.ExecuteReader();

        while (oku.Read())
        {
            TableRow ys=new TableRow();
            TableCell hucre1 = new TableCell();
            TableCell hucre2 = new TableCell();
            TableCell hucre3 = new TableCell();
            TableCell hucre4 = new TableCell();
            TableCell hucre5 = new TableCell();
            TableCell hucre6 = new TableCell();
            TableCell hucre7 = new TableCell();

            hucre1.Text = oku["kul_adi"].ToString();
            hucre2.Text = oku["sifre"].ToString();
            hucre3.Text = oku["mail"].ToString();
            DateTime tarih=Convert.ToDateTime(oku["tarih"]);
            hucre4.Text = tarih.Year.ToString();

            string durum="";
            if (Convert.ToInt32(oku["durum"]) == 1)
            {
                durum = "Yönetici";
            }
            else if (Convert.ToInt32(oku["durum"]) == 2)
            {
                durum = "Editör";
            }
            else if (Convert.ToInt32(oku["durum"]) == 3)
            {
                durum = "Normal Üye";
            }
            hucre5.Text = durum;
            hucre6.Text="<a href="+ "#" +">Üye Sil</a>";
            hucre7.Text = "<a href=" + "#" + ">Üye Güncelle</a>";

            ys.Controls.Add(hucre1);
            ys.Controls.Add(hucre2);
            ys.Controls.Add(hucre3);
            ys.Controls.Add(hucre4);
            ys.Controls.Add(hucre5);
            ys.Controls.Add(hucre6);
            ys.Controls.Add(hucre7);

            
            
            Table1.Controls.Add(ys);
        }

        komut.Connection.Close();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        VeriBagla("");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        int SatirSayisi = Table1.Rows.Count;
        for (int j = 0; j < SatirSayisi - 1; j++)
        {
            Table1.Controls.RemoveAt(1);
        }
        VeriBagla(araTxt.Text);
    }

string Sorgu = "select * from uye where kul_adi like?"; ifadesini anlayamayan arkadaşlar olabilir. Ben Sorgulama işlemlerinde her zaman parametre kullanımından yanayım. aslında aynı tarz sorgulama işlemini farklı pek çok şekildede yapabiliriz.

like? fadesinden kul_adi adlı alana adındaki verilerden like ile benzer ifadeleri seçemek ( sorgulamak ) için kullandığımız bir sql transact deyimi. ? parametreyi belirtiyor. Mysql için ?alanadi, MsSql için ise @alanadi kullanılır. Ayrıca CodeBehind kısmında yazdığımız bu parametrelerde @alanadi kullanırsanız hem ms sql için hem access için kullanabilirsiniz.

komut.Parameters.Add("uye", OleDbType.VarChar);
komut.Parameters["uye"].Value = Str+"%";

% ifadesi ise Str ile başlayan gerisi herşey olabilen ifadeleri sorgular. Atıyorum ahmet diye sorgulattığımızda ahmet eren, ahmet çeker vs...

kodlar gayet açık kolay gelsin arkadaşlar.
 
hocam kodların arasına yorum satırları konsa daha açıklayıcı olur bence, kodu kullanan kişi de ne işe yaradığını direk görür... emeğine sağlık
 
Hacım güzel yazmışsın eline sağlık. Şimdilik pek kafam basmasa da neyse. :p Sen şu okul portalı kaç gaymeye verecen , söyle bakem. :mrgreen: Alacağız biz de.
 
Geri
Üst