Top Ad unit 728 × 90

Recientes

recent

Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (9-41) Insertar, editar, eliminar, mostrar, buscar registros

Buen día amigos, En este artículo implementaremos los procedimientos CRUD (Create, read, update, delete) para insertar registros, mostrar registros, editar registros y eliminar registros de una tabla de sql server 2014 desde visual studio 2013 utilizando el lenguaje de programación Csharp.
Utilizaremos windows forms en el lenguaje de programación csharp e implementaremos los botones de nuevo, editar, eliminar, buscar registros en una tabla de sql server 2014 utilizando como IDE visual studio 2013.

Pueden descargar el paquete del proyecto desarrollado en el curso, la base de datos, los procedimientos almacenados y el sistema completo hasta el Video 41 desde:

Puedes descargar la versión completa del proyecto con todas las funcionalidades terminadas desde:

Pueden seguir el curso completo y aprender a desarrollar un Sistema de Ventas en Csharp.Net utilizando como IDE de desarrollo Visual Studio 2013 y como gestor de Base de datos SQL Server 2014 desde:

No se olviden siempre de Visitar mi canal www.youtube.com/jcarlosad7 para ver los nuevos cursos.

Capa Presentación

Funciones CRUD
CRUD es el acrónimo de las funciones Create, Read, Update and Delete (Crear, Obtener, Actualizar y Borrar  ). 

  • Capa Datos
    • Clase Conexión
    • Clase dCategoría
  • Capa Negocio
    • Clase nCategoría
  • Capa Presentación
    • Formulario frmCategoría
Formulario FrmCategoría

TabPage Mantenimiento


Código Fuente - Procedimientos
          //Código del Botón nuevo
        private void btnNuevo_Click(object sender, EventArgs e)
        {
            this.IsNuevo = true;
            this.IsModificar = false;
            this.Botones();
            this.Limpiar();
            this.txtIdcategoria.Text = string.Empty;
            this.txtNombre.Focus();
        }

       //Código del Botón Editar
        private void btnEditar_Click(object sender, EventArgs e)
        {
            //Si no ha seleccionado un producto no puede modificar
            if (!this.txtIdcategoria.Text.Equals(""))
            {
                this.IsModificar = true;
                this.Botones();
            }
            else
            {
                this.MensajeError("Debe de buscar un registro para Modificar");
            }
        }
       
        //Código del Botón Guardar
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                      
            //La variable que almacena si se inserto
            //o se modifico la tabla
            string Rpta = "";
            if (this.txtNombre.Text == string.Empty)
            {

                MensajeError("Falta Ingresar algunos valores serán remarcados");
                erroricono.SetError(txtNombre, "Ingrese Nombre");
            }
            else
            {
                if (this.IsNuevo)
                {
                    //Vamos a insertar un producto
         Rpta = nCategoria.Insertar(this.txtNombre.Text.Trim().ToUpper(),
                    this.txtDescripcion.Text.Trim());

                }
                else
                {
                    //Vamos a modificar un producto
       Rpta = nCategoria.Editar(Convert.ToInt32(this.txtIdcategoria.Text),
                    this.txtNombre.Text.Trim().ToUpper(),
                    this.txtDescripcion.Text.Trim());
                }
                //Si la respuesta fue OK, fue porque se modifico
                //o inserto el Producto
                //de forma correcta
                if (Rpta.Equals("OK"))
                {
                    if (this.IsNuevo)
                    {
                        this.MensajeOK("Se insertó de forma correcta el registro");
                    }
                    else
                    {
                        this.MensajeOK("Se actualizó de forma correcta el registro");
                    }

                }
                else
                {
                    //Mostramos el mensaje de error
                    this.MensajeError(Rpta);
                }
                this.IsNuevo = false;
                this.IsModificar = false;
                this.Botones();
                this.Limpiar();
                this.Mostrar();
                this.txtIdcategoria.Text = "";
           
            }
            }

            catch (Exception ex)
            { 
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
           
        }

        //Código del Botón Cancelar
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.IsNuevo = false;
            this.IsModificar = false;
            this.Botones();
            this.Limpiar();
            this.txtIdcategoria.Text = string.Empty;
        }

        //Evento DoubleClick del datagridview
        private void Datalistado_DoubleClick(object sender, EventArgs e)
        {
            this.txtIdcategoria.Text = Convert.ToString(this.datalistado.CurrentRow.Cells["idcategoria"].Value);
            this.txtNombre.Text = Convert.ToString(this.datalistado.CurrentRow.Cells["nombre"].Value);
            this.txtDescripcion.Text = Convert.ToString(this.datalistado.CurrentRow.Cells["descripcion"].Value);
            this.tabControl1.SelectedIndex = 1;
        }

        //Código del Evento CellContentClick del Datagridview
private void Datalistado_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if(e.ColumnIndex==datalistado.Columns["Eliminar"].Index)
            {
                DataGridViewCheckBoxCell ChkEliminar =
                    (DataGridViewCheckBoxCell)datalistado.Rows[e.RowIndex].Cells["Eliminar"];
                ChkEliminar.Value = !Convert.ToBoolean(ChkEliminar.Value);
            }
       
        }

        //Código del Evento CheckedChanged del CheckBox 
        private void chkEliminar_CheckedChanged(object sender, EventArgs e)
        {
            if(chkEliminar.Checked)
            {
                this.datalistado.Columns[0].Visible = true;
            }
            else
            {
                this.datalistado.Columns[0].Visible = false;
            }
        }

        //Código del Botón Eliminar
         private void btneliminar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult Opcion;
                Opcion = MessageBox.Show("Realmente desea eliminar los registros?", "Sistema Ventas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                if (Opcion == DialogResult.OK)
                {
                    string Codigo;
                    string Rpta = "";

                    foreach (DataGridViewRow row in datalistado.Rows)
                    {

                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            Codigo = Convert.ToString(row.Cells[1].Value);
                            Rpta = nCategoria.Eliminar(Convert.ToInt32(Codigo));
                           
                            if (Rpta.Equals("OK"))
                            {
                                this.MensajeOK("Se eliminó de forma correcta el registro");
                            }
                            else
                            {
                                //Mostramos el mensaje de error
                                this.MensajeError(Rpta);
                            }
                         }
                    }
                                      
                    this.Mostrar();
                }
            }

            catch (Exception ex)
            { 
                MessageBox.Show(ex.Message + ex.StackTrace);
            }           
        }




Ahora si modificaremos la configuración del Proyecto Principal, el archivo Program.cs en su método main para hacer que nuestra solución inicie por ahora desde el FrmCategoría, después ya la haremos iniciar desde el Formulario principal.

    
Programs.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
//Comunicarse con la capa presentación
using CapaPresentacion;

namespace SistVentasPrueba
{
    static class Program
    {
        /// 
        /// Punto de entrada principal para la aplicación.
        /// 
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmCategoria());
        }
    }
}

Video 9: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (9-34) Buscar Insertar editar eliminar 


Saludos Imperio, un abrazo a la distancia!!!.
Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (9-41) Insertar, editar, eliminar, mostrar, buscar registros Reviewed by IncanatoIt-ad on 5:50 Rating: 5

7 comentarios:

  1. Buenas Tardes, cuando voy a eliminar un campo me aparece un error.

    No se puede implementar el método o la operacion. en CapaNegocio.NCategoria.Eliminar(Int32 p)en
    h:\Programacion\SisVentas\SisVentas\CapaNegocio\NCategoria.cs:linea69 en
    CapaPresentacion.FrmCategoria.btnEliminar:Click(Object sender,EventArgs
    e)en g:\SisVentas\SisVentas\CapaPresentacion\PrmCategoria.cs:línea 258

    Que debo hacer o en donde esta el error me puede ayudar con esto por favor.

    ResponderEliminar
  2. si puedes coloca las pantallas o captura los errores que te da a ver si te puedo ayudar en algo, a mi me funciona como decimos en el llano venezolano calidad saludos

    ResponderEliminar
  3. ya acabe el video 9 todo bien , pero cuando intento selecionar un producto para elminar me sale esta exepcion
    https://www.facebook.com/profile.php?id=100007748718297

    ResponderEliminar
  4. Hola Juan Carlos, gracias por los aportes, estoy en el fin del video 9, todo bien, nada de errores, pero cuando intento editar o agregar una nueva categoria, tengo los siguientes errores:

    cuando intento guardar recibo esto: Could not find stored procedure 'spinsertar_categoria'. revisando veo que la variable Rpta: es quien esta recibiendo este valor.

    -al intentar editar recibo esto: en la misma variable Rta: Invalid object name 'categiria'. ya busque en todo el codigo y no tengo nada que se llame categiria. Ayuda por favor

    ResponderEliminar
  5. Hola Juan Carlos, gracias por los aportes, estoy en la mitad del video 9, todo bien, nada de errores, pero cuando intento agregar una nueva categoria, tengo el siguiente error:

    SqlParameterCollection solo acepta objetos tipo no null
    SqlParameter, no objetos Int32

    ResponderEliminar
  6. Hola Juan, tus videos son excelentes, disculpa tengo un problema me dice ExecuteNonQuery: la propiedad Connection no se ha inicial izado

    ResponderEliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>