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
//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:
Buenas Tardes, cuando voy a eliminar un campo me aparece un error.
ResponderEliminarNo 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.
seria mejor con base de datos
ResponderEliminarsi 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
ResponderEliminarya acabe el video 9 todo bien , pero cuando intento selecionar un producto para elminar me sale esta exepcion
ResponderEliminarhttps://www.facebook.com/profile.php?id=100007748718297
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:
ResponderEliminarcuando 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
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:
ResponderEliminarSqlParameterCollection solo acepta objetos tipo no null
SqlParameter, no objetos Int32
Hola Juan, tus videos son excelentes, disculpa tengo un problema me dice ExecuteNonQuery: la propiedad Connection no se ha inicial izado
ResponderEliminar