ASP.NET C# como eliminar datos con Stored Procedure de SQL Server


Como eliminar un registro a través de un Procedimiento almacenado de SQL Server desde ASP.NET C#

Conocimientos previos:







Secciones importantes de código


Default.aspx


<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CRUDTEST._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

    <div class="jumbotron">
        <asp:Panel runat="server" ID="pnlDatoaAlumno">
            <asp:GridView ID="gvdAlumnos" runat="server" AutoGenerateColumns="false" DataKeyNames="Clave Alumno" OnRowDeleting="gvdAlumnos_RowDeleting">   
                <Columns>
                    <asp:BoundField DataField="Clave Alumno" HeaderText="Clave Alumno" />
                     <asp:BoundField DataField="Nombre" HeaderText="Nombre" />
                    <asp:BoundField DataField="Apellido Paterno" HeaderText="Apellido Paterno" />
                    <asp:BoundField DataField="Apellido Materno" HeaderText="Apellido Materno" />
                    <asp:BoundField DataField="Correo Electronico" HeaderText="Correo Electronico" />
                    <asp:CommandField ShowDeleteButton="true" EditText="Eliminar"/>  
                </Columns>
            </asp:GridView>
            <asp:Button ID="btnNuevo" Text="Nuevo Alumno" runat="server" OnClick="btnNuevo_Click" />
        </asp:Panel>
        <asp:Panel ID="pnlAltaAlumno" runat="server" Visible="false">
            <div>
                <asp:Label ID="lblNombre" Text="Nombre" runat="server"></asp:Label>
                <asp:TextBox ID="txtNombre" runat="server" />
            </div>
            <div>
                <asp:Label ID="lblApPaterno" Text="Apellido Paterno " runat="server"></asp:Label>
                <asp:TextBox ID="txtApPaterno" runat="server" />
            </div>
            <div>
                <asp:Label ID="lblApMaterno" Text="Apellido Materno" runat="server" />
                <asp:TextBox ID="txtApMaterno" runat="server" />
            </div>
            <div>
                <asp:Label ID="lblEmail" Text="Email" runat="server" />
                <asp:TextBox ID="txtEmail" runat="server" />
            </div>
            <br />
            <asp:Button ID="btnGuardar" runat="server" Text="Guardar Alumno" OnClick="btnGuardar_Click" />
        </asp:Panel>
    </div>

</asp:Content>

Default.cs


Librerias importantes:

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

Métodos importantes:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CargaDatosAlumno();
            }
        }
        public void CargaDatosAlumno()
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connDB"].ConnectionString))
            {
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "SPSalumnos";
                cmd.Connection = conn;
                conn.Open();
                gvdAlumnos.DataSource = cmd.ExecuteReader();
                gvdAlumnos.DataBind();
            }
        }

        public void GuardaAlumno()
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connDB"].ConnectionString))
            {
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "SPIalumnos";
                cmd.Parameters.Add("@nombre", SqlDbType.VarChar).Value = txtNombre.Text.Trim();
                cmd.Parameters.Add("@apPaterno", SqlDbType.VarChar).Value = txtApPaterno.Text.Trim();
                cmd.Parameters.Add("@apMaterno", SqlDbType.VarChar).Value = txtApMaterno.Text.Trim();
                cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = txtEmail.Text.Trim();
                cmd.Connection = conn;
                conn.Open();
                cmd.ExecuteNonQuery();
            }
        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            pnlDatoaAlumno.Visible = false;
            pnlAltaAlumno.Visible = true;
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            pnlAltaAlumno.Visible = false;
            pnlDatoaAlumno.Visible = true;
            GuardaAlumno();
            CargaDatosAlumno();
        }

        protected void gvdAlumnos_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            GridViewRow row = (GridViewRow)gvdAlumnos.Rows[e.RowIndex];
            eliminarAlumno(gvdAlumnos.DataKeys[e.RowIndex].Value.ToString());
            CargaDatosAlumno();
        }

        public void eliminarAlumno(string idAlumno)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connDB"].ConnectionString))
            {
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "SPDalumnos";
                cmd.Parameters.Add("@idAlumno", SqlDbType.BigInt).Value = Int64.Parse(idAlumno);
                cmd.Connection = conn;
                conn.Open();
                cmd.ExecuteNonQuery();
            }
        }
        }
    }


No hay comentarios:

Publicar un comentario

ASP.NET Web API

Es un entorno que nos permite desarrollar servicios HTTP para múltiples clientes tales como exploradores y dispositivos móviles,  las operac...