Asp.Net Gridview Detaylı Anlatım Crud İşlemleri

1 yorum
Merhaba Arakdaşlar

Bu bölümde Asp.Net Gridview üzerinde  Crud İşlemlerine bakıyor olacağız.Yapacağımız uygulama ile Asp.Net Gridview  üzerine eklemiş olduğumuz kontrolleri yakalamak ve bu kontrollerin tetikleri eventler üzerinden anlatımı gerçekleştirmek olacaktır.

Şimdi zaman kaybetmeden Uygulamamıza geçelim.Bu aşamada gene kaynak kodları vererek ve video
anlatım şeklinde ilerliyor olacağız.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
 
namespace GridCrud
{
    public partial class Default : System.Web.UI.Page
    {
        SqlConnection cnn = new SqlConnection("Server=.;Database=VideoMarket;trusted_connection=true");
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBagla();
            }
        }
 
        private void DataBagla()
        {
            SqlDataAdapter adp = new SqlDataAdapter("Select FilmNo,FilmAd,FilmTurNo,Yonetmen,Miktar from Filmler", cnn);
            DataTable dt = new DataTable();
            adp.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
 
        protected void lnkYeniKayitEkle_Click(object sender, EventArgs e)
        {
            GridView1.ShowFooter = true;
            DataBagla();
        }
 
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Cancel")
            {
                GridView1.ShowFooter = false;
                DataBagla();
            }
            if(e.CommandName== "Insert")
            {
                TextBox FilmAdi = (TextBox)GridView1.FooterRow.FindControl("txtYeniFilmAdi");
                TextBox Yonetmen = (TextBox)GridView1.FooterRow.FindControl("txtYeniYonetmen");
                TextBox Miktar = (TextBox)GridView1.FooterRow.FindControl("txtYeniMiktar");
                DropDownList FilmTurNo = (DropDownList)GridView1.FooterRow.FindControl("DropDownList1");
 
                bool sonuc = FilmEkle(FilmAdi.Text,Convert.ToInt32(FilmTurNo.SelectedValue),Yonetmen.Text,Convert.ToInt32(Miktar.Text));
 
                if (sonuc)
                {
                    GridView1.EditIndex = -1;
                    DataBagla();
                }
            }
        }
 
        private bool FilmEkle(string filmadi, int filmturno, string yonetmen, int miktar)
        {
 
            bool sonuc = false;
            SqlCommand cmd = new SqlCommand("Insert Into Filmler (FilmAd,FilmTurNo,Yonetmen,Miktar) values (@FilmAd,@FilmTurNo,@Yonetmen,@Miktar)", cnn);
            cmd.Parameters.AddWithValue("@FilmAd",filmadi);
            cmd.Parameters.AddWithValue("@FilmTurNo",filmturno);
            cmd.Parameters.AddWithValue("@Yonetmen",yonetmen);
            cmd.Parameters.AddWithValue("@Miktar", miktar);
            try
            {
                if (cnn.State == ConnectionState.Closed)
                {
                    cnn.Open();
                }
                sonuc = Convert.ToBoolean(cmd.ExecuteNonQuery());
            }
            catch (SqlException ex)
            {
                string hata = ex.Message;
 
            }
            finally
            {
                cnn.Close();
            }
            return sonuc;
        }
 
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;// Secili index i bıraktık
            DataBagla();
        }
 
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;// Secili Satır Editlenecekse yakala
        }
 
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            Label FilmNo = (Label)GridView1.Rows[e.RowIndex].FindControl("lblFilmNo");
            TextBox FilmAdi = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtFilmAdi");
            TextBox Yonetmen = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtYonetmen");
            TextBox Miktar = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMiktar");
            TextBox FilmTurNo = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtFilmTurNo");
           
            bool sonuc = FilmGuncelle(Convert.ToInt32(FilmNo.Text),FilmAdi.Text,Convert.ToInt32(FilmTurNo.Text),Yonetmen.Text,Convert.ToInt32(Miktar.Text));
            if (sonuc)
            {
                GridView1.EditIndex = -1;
                DataBagla();
            }
          
        }
 
        private bool FilmGuncelle(int filmno, string filmadi, int filmturno, string yonetmen, int miktar)
        {
            bool sonuc = false;
            SqlCommand cmd = new SqlCommand("Update Filmler set FilmAd=@FilmAd,FilmTurNo=@FilmTurNo,Yonetmen=@Yonetmen,Miktar=@Miktar where FilmNo=@FilmNo", cnn);
            cmd.Parameters.AddWithValue("@FilmAd",filmadi);
            cmd.Parameters.AddWithValue("@FilmTurNo",filmturno);
            cmd.Parameters.AddWithValue("@Yonetmen",yonetmen);
            cmd.Parameters.AddWithValue("@Miktar", miktar);
            cmd.Parameters.AddWithValue("@FilmNo",filmno);
            try
            {
                if (cnn.State == ConnectionState.Closed)
                {
                    cnn.Open();
                }
                sonuc = Convert.ToBoolean(cmd.ExecuteNonQuery());
            }
            catch (SqlException ex)
            {
                string hata = ex.Message;
            }
            finally
            {
                cnn.Close();
            }
            return sonuc;
        }
 
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int filmno = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);// tıklanan satırdaki filmnosu
            bool sonuc = FilmSil(filmno);
            if (sonuc)
            {
                DataBagla();
            }
        }
 
        private bool FilmSil(int filmno)
        {
            bool sonuc = false;
            SqlCommand cmd = new SqlCommand("Delete from Filmler where FilmNo=@FilmNo", cnn);
           
            cmd.Parameters.AddWithValue("@FilmNo", filmno);
            try
            {
                if (cnn.State == ConnectionState.Closed)
                {
                    cnn.Open();
                }
                sonuc = Convert.ToBoolean(cmd.ExecuteNonQuery());
            }
            catch (SqlException ex)
            {
                string hata = ex.Message;
            }
            finally
            {
                cnn.Close();
            }
            return sonuc;
        }
    }
}
 
Video Anlatım : 


Video Anlatım 2:

1 yorum :

  1. Merhaba çok yararlı bir anlarım olmuş. Benım bir sorum olucak aynısını yapıp çalıştırdım ama düzenle işlemine geçmek için düzenle link butonuna iki kere basınca geçiyor sebebi ne olabilir. aynı kodları alıp kopyaladım. kendım yaparken hata yapmışımdır die ama buradaki kodlarda da aynı sıkıntı oluyor.

    YanıtlaSil

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.