ASP.NET ile Session Mantığı ve Ekle-Güncelle-Sil Uygulaması

//Default.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <p style="color: #FF0000; font-style: oblique; font-weight: 600; font-family: Verdana;">

        Burası Ana Sayfadır.</p>

</asp:Content>

//Default.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object senderEventArgs e)

    {

        //Master sayfamıza başlık bilgisi gönderdik

        Label lbl1 = (Label)Master.FindControl("lblSayfaBaslik");

        lbl1.Text = "Ana Sayfa";

    }

}

//Giris.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Giris.aspx.cs" Inherits="Giris" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <table style="width: 351px">

        <tr>

            <td style="width: 231px" >Kullanıcı Adı&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :</td>

            <td style="width: 363px" >

                <asp:TextBox ID="txtKullaniciAdi" runat="server" Width="150px"></asp:TextBox>

            </td>

        </tr>

        <tr>

            <td style="width: 231px" >Şifre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :</td>

            <td style="width: 363px" >

                <asp:TextBox ID="txtSifre" runat="server" Width="150px"></asp:TextBox>

            </td>

        </tr>

        <tr>

            <td style="width: 231px" >&nbsp;</td>

            <td style="width: 363px" >

                <asp:Button ID="btnGirisYap" runat="server" OnClick="btnGirisYap_Click" Text="Giriş Yap" />

            </td>

        </tr>

    </table>

</asp:Content>

//Giris.aspx.cs

using System;

using System.Data;

using System.Data.SqlClient;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class Giris : System.Web.UI.Page

{

    //Vt Bağlantısını Yaptığımız class

    Fonksiyon system = new Fonksiyon();

    protected void Page_Load(object senderEventArgs e)

    {

        //Master sayfamıza başlık bilgisi gönderdik

        Label lbl1 = (Label)Master.FindControl("lblSayfaBaslik");

        lbl1.Text = "Üye Giriş";

    }

    protected void btnGirisYap_Click(object senderEventArgs e)

    {

        //Bağlantıyı yaptık

        SqlConnection baglanti = system.baglan();

        //Commandımızı oluşturduk

        SqlCommand cmdGirisYap = new SqlCommand("Select * from Yazarlar Where KullaniciAdi=@Kullaniciadi and Sifre=@Sifre"baglanti);

        //Atamaları yaptı

        cmdGirisYap.Parameters.Add("KullaniciAdi"txtKullaniciAdi.Text);

        cmdGirisYap.Parameters.Add("Sifre"txtSifre.Text);

        //Veritabanından adsoyad ve Sifreyi karşılaştırdık veriyi okuduk

        SqlDataReader veriyiOku = cmdGirisYap.ExecuteReader();

        //Eğer kullanıcı varsa

        if (veriyiOku.Read())

        {

            //Bu kullanıcıya bir session uluşturduk ve yetkiyi aldık

            Session["KullaniciAdi"= veriyiOku["AdSoyad"];

            //Artık yönetim sayfasına girdik

            Response.Redirect("Yonetim.aspx");

        }

        else

        {

            //Yetkimiz yoksa buraya

            Response.Redirect("Giris.aspx");

        }

    }

}

//Cikis.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Cikis.aspx.cs" Inherits="Cikis" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

</asp:Content>

//Cikis.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class Cikis : System.Web.UI.Page

{

    protected void Page_Load(object senderEventArgs e)

    {

        //Master sayfamıza başlık bilgisi gönderdik

        Label lbl1 = (Label)Master.FindControl("lblSayfaBaslik");

        lbl1.Text = "Çıkış Sayfası";

        //Sessionu null yaparak serbest bırakıyoruz. Artık giriş yapmadan Yönetim Sayfasına giremeyiz.

        Session["KullaniciAdi"= null;

        Response.Redirect("Default.aspx");

    }

}

//Guncelle.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Guncelle.aspx.cs" Inherits="Guncelle1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

    <table width="300px">

        <tr>

            <td style="width: 272px">Kullanıcı Adı&nbsp;&nbsp; :</td>

            <td style="width: 304px">

                <asp:TextBox ID="txtKullaniciAdi" runat="server" Width="150px"></asp:TextBox>

            </td>

        </tr>

        <tr>

            <td style="width: 272px">Şifre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :</td>

            <td style="width: 304px">

                <asp:TextBox ID="txtSifre" runat="server" Width="150px"></asp:TextBox>

            </td>

        </tr>

        <tr>

            <td style="width: 272px">

                <asp:Literal ID="Literal1" runat="server"></asp:Literal>

            </td>

            <td style="width: 304px">

                <asp:Button ID="btnGuncelle" runat="server" OnClick="btnGuncelle_Click" Text="Yazar Güncelle" />

                <asp:Label ID="lblUyari" runat="server"></asp:Label>

            </td>

        </tr>

    </table>

</asp:Content>

//Guncelle.aspx.cs

using System;

using System.Data;

using System.Data.SqlClient;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class Guncelle1 : System.Web.UI.Page

{

    //Vt Bağlantısını Yaptığımız class

    Fonksiyon system = new Fonksiyon();

    //Global değişkenler

    string islem = "";

    string YazarId = "";

    protected void Page_Load(object senderEventArgs e)

    {

        //Master sayfamıza başlık bilgisi gönderdik

        Label lbl1 = (Label)Master.FindControl("lblSayfaBaslik");

        lbl1.Text = "Üye Güncelle<br/><br/>" + Session["KullaniciAdi"].ToString();

        //QueryString den YazarId ve islem değişkenini aldık.

        //Böylece hangi yazara hangi işlemi yapacağımızı anlayacağı. Mesela Güncelle veya Sil

        islem = Request.QueryString["islem"];

        YazarId = Request.QueryString["YazarId"];

        //İşlem Güncelle ise ve Sessionde varsa yetki var demektir.

        //Ozaman Güncelleme işlemi yaılacak bilgiyi ekrana basabailiriz.

        if (islem=="Guncelle" && Session["KullaniciAdi"]!=null)

        {

            DataRow dr = system.GetDataRow("Select * From Yazarlar where YazarId=" + YazarId);

            if (dr!=null)

            {

                if (Page.IsPostBack==false)

                {

                    txtKullaniciAdi.Text = dr["AdSoyad"].ToString();

                    txtSifre.Text = dr["Sifre"].ToString();

                }

            }

            else

            {

                lblUyari.Text = "Kayıt Okunamadı";

            }

        }

    }

    //Güncelleme işlemi bu butona tıklanınca gerçekleşiyor

    protected void btnGuncelle_Click(object senderEventArgs e)

    {

        //Bilgilerin gösterildiği alanlar boş değilse aşağıda update işlemi gerçekleştiriliyor.

        if (txtKullaniciAdi.Text!="" && txtSifre.Text!="")

        {

            SqlConnection baglanti = system.baglan();

            SqlCommand cmdGuncelle = new SqlCommand("Update Yazarlar set AdSoyad=@AdSoyad,Sifre=@Sifre Where YazarId=" + YazarIdbaglanti);

            cmdGuncelle.Parameters.Add("AdSoyad"txtKullaniciAdi.Text);

            cmdGuncelle.Parameters.Add("Sifre"txtSifre.Text);

            cmdGuncelle.ExecuteNonQuery();

            cmdGuncelle.Dispose();

            baglanti.Close();

            //İşlem bitti yönetim sayfasına yönlendirdik

            Response.Redirect("Yonetim.aspx");

        }   

    }

}

//Bağlantı Sınıfımız

using System;

using System.Data;

using System.Data.SqlClient;

using System.Collections.Generic;

using System.Linq;

using System.Web;

/// <summary>

/// Summary description for Fonksiyon

/// </summary>

public class Fonksiyon

{

       public Fonksiyon()

       {

             //

             // TODO: Add constructor logic here

             //

       }

    public SqlConnection baglan()

    {

        SqlConnection baglanti = new SqlConnection("Data Source=.;Initial Catalog=HaberPortali;Integrated Security=True");

        baglanti.Open();

        return (baglanti);

    }

    public int cmd(string sqlcumle)

    {

        SqlConnection baglan = this.baglan();

        SqlCommand sorgu = new SqlCommand(sqlcumlebaglan);

        int sonuc = 0;

        try

        {

            sonuc = sorgu.ExecuteNonQuery();

        }

        catch (SqlException ex)

        {

            throw new Exception(ex.Message + " (" + sqlcumle + ")");

        }

        sorgu.Dispose();

        baglan.Close();

        baglan.Dispose();

        return (sonuc);

    }

    public DataTable GetDataTable(string sql)

    {

        SqlConnection baglanti = this.baglan();

        SqlDataAdapter adapter = new SqlDataAdapter(sqlbaglanti);

        DataTable dt = new DataTable();

        try

        {

            adapter.Fill(dt);

        }

        catch (SqlException ex)

        {

            throw new Exception(ex.Message + " (" + sql + ")");

        }

        adapter.Dispose();

        baglanti.Close();

        baglanti.Dispose();

        return dt;

    }

    public DataSet GetDataSet(string sql)

    {

        SqlConnection baglanti = this.baglan();

        SqlDataAdapter adapter = new SqlDataAdapter(sqlbaglanti);

        DataSet ds = new DataSet();

        try

        {

            adapter.Fill(ds);

        }

        catch (SqlException ex)

        {

            throw new Exception(ex.Message + " (" + sql + ")");

        }

        adapter.Dispose();

        baglanti.Close();

        baglanti.Dispose();

        return ds;

    }

    public DataRow GetDataRow(string sql)

    {

        DataTable table = GetDataTable(sql);

        if (table.Rows.Count == 0return null;

        return table.Rows[0];

    }

    public string GetDataCell(string sql)

    {

        DataTable table = GetDataTable(sql);

        if (table.Rows.Count == 0return null;

        return table.Rows[0][0].ToString();

    }

    public DataRow get { getset; }

}

Benzer İçerikler

Github Source Code

JSF EĞİTİM SETİ

WordPress

Blogger

Evet. AspNet ile Session Mantığı, ayrıca kayıt ekleme, güncelleme ve silme işlemlerini detaylıca inceledik. Session’ları anlamak önemlidir. Web sitelerinin neredeyse büyük çoğunluğunda Session’lar kullanılır. Detayına girmiycem. Fakat Session’ların önemini bilen biriyseniz bu makale çok işinize yarayabilir. Umarım faydalı olur.Kalın sağlıcakla.

Soysal Medyada Paylaş