Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (19-41) Procedimientos almacenados, Mantenimiento Tabla Cliente
Buen día amigos, En este artículo implementaremos los procedimientos almacenados en sql server 2014 para poder dar mantenimiento a nuestra tabla Cliente, iniciaremos también con la implementación de la clase DCliente en la capa datos donde estarán las variables (atributos) y las propiedades ó métodos setter y getter (para encapsular las variables), dentro de la clase DCliente en la capa datos se implementarán los métodos para insertar, editar, eliminar, mostrar y buscar registros en la tabla Cliente de la base de datos en SQL Server 2014 directamente desde Visual Studio 2013 utilizando como lenguaje de programación Csharp.
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.
Procedimientos almacenados tabla Cliente
--Procedimiento Mostrar Cliente
--Procedimiento Mostrar Cliente
create proc
spmostrar_cliente
as
SELECT top 100 * FROM cliente
order
by apellidos asc
go
-- Procedimiento Buscar Cliente Apellidos
create proc
spbuscar_cliente_apellidos
@textobuscar
varchar(50)
as
SELECT
* FROM cliente
where
apellidos like @textobuscar + '%'
go
-- Procedimiento Buscar Cliente Num Documento
create proc
spbuscar_cliente_num_documento
@textobuscar
varchar(8)
as
SELECT
* FROM cliente
where
num_documento like @textobuscar + '%'
go
-- Procedimiento Insertar Cliente
create proc
spinsertar_cliente
@idcliente
int output,
@nombre varchar(20),
@apellidos
varchar(40),
@sexo varchar(1),
@fecha_nacimiento
date,
@tipo_documento varchar(20),
@num_documento varchar(8),
@direccion varchar(100),
@telefono varchar(10),
@email varchar(50)
as
insert into cliente(nombre,apellidos,sexo,fecha_nacimiento,tipo_documento,num_documento,direccion,telefono,email)
values
(@nombre,@apellidos,@sexo,@fecha_nacimiento,@tipo_documento,@num_documento,@direccion,@telefono,@email)
go
-- Procedimiento Editar Cliente
create proc
speditar_cliente
@idcliente int,
@nombre varchar(20),
@apellidos varchar(40),
@sexo varchar(1),
@fecha_nacimiento
date,
@tipo_documento varchar(20),
@num_documento varchar(8),
@direccion varchar(100),
@telefono varchar(10),
@email varchar(50)
as
update cliente set nombre=@nombre,apellidos=@apellidos,sexo=@sexo,
fecha_nacimiento=@fecha_nacimiento,
tipo_documento=@tipo_documento,num_documento=@num_documento,
direccion=@direccion,telefono=@telefono,email=@email
where idcliente=@idcliente
go
-- Procedimiento Eliminar Cliente
create
proc speliminar_cliente
@idcliente
int
as
delete
from cliente
where
idcliente=@idcliente
go
Capa Datos - Clase DCliente
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace CapaDatos { public class DCliente { //Variables private int _Idcliente; private string _Nombre; private string _Apellidos; private string _Sexo; private DateTime _Fecha_Nacimiento; private string _Tipo_Documento; private string _Num_Documento; private string _Direccion; private string _Telefono; private string _Email; private string _TextoBuscar; //Propiedades //Métodos Setter an Getter Propiedades public int Idcliente { get { return _Idcliente; } set { _Idcliente = value; } } public string Nombre { get { return _Nombre; } set { _Nombre = value; } } public string Apellidos { get { return _Apellidos; } set { _Apellidos = value; } } public string Sexo { get { return _Sexo; } set { _Sexo = value; } } public DateTime Fecha_Nacimiento { get { return _Fecha_Nacimiento; } set { _Fecha_Nacimiento = value; } } public string Tipo_Documento { get { return _Tipo_Documento; } set { _Tipo_Documento = value; } } public string Num_Documento { get { return _Num_Documento; } set { _Num_Documento = value; } } public string Direccion { get { return _Direccion; } set { _Direccion = value; } } public string Telefono { get { return _Telefono; } set { _Telefono = value; } } public string Email { get { return _Email; } set { _Email = value; } } public string TextoBuscar { get { return _TextoBuscar; } set { _TextoBuscar = value; } } //Constructores public DCliente() { } public DCliente(int idcliente,string nombre,string apellidos,string sexo, DateTime fecha_nacimiento,string tipo_documento,string num_documento,string direccion,string telefono,string email,string textobuscar) { this.Idcliente = idcliente; this.Nombre = nombre; this.Apellidos = apellidos; this.Sexo = sexo; this.Fecha_Nacimiento = fecha_nacimiento; this.Tipo_Documento = tipo_documento; this.Num_Documento = num_documento; this.Direccion = direccion; this.Telefono = telefono; this.Email = email; this.TextoBuscar = textobuscar; } //Método Insertar public string Insertar(DCliente Cliente) { string rpta = ""; SqlConnection SqlCon = new SqlConnection(); try { //Código SqlCon.ConnectionString = Conexion.Cn; SqlCon.Open(); //Establecer el Comando SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spinsertar_cliente"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParIdcliente = new SqlParameter(); ParIdcliente.ParameterName = "@idcliente"; ParIdcliente.SqlDbType = SqlDbType.Int; ParIdcliente.Direction = ParameterDirection.Output; SqlCmd.Parameters.Add(ParIdcliente); SqlParameter ParNombre = new SqlParameter(); ParNombre.ParameterName = "@nombre"; ParNombre.SqlDbType = SqlDbType.VarChar; ParNombre.Size = 20; ParNombre.Value = Cliente.Nombre; SqlCmd.Parameters.Add(ParNombre); SqlParameter ParApellidos = new SqlParameter(); ParApellidos.ParameterName = "@apellidos"; ParApellidos.SqlDbType = SqlDbType.VarChar; ParApellidos.Size = 40; ParApellidos.Value = Cliente.Apellidos; SqlCmd.Parameters.Add(ParApellidos); SqlParameter ParSexo = new SqlParameter(); ParSexo.ParameterName = "@sexo"; ParSexo.SqlDbType = SqlDbType.VarChar; ParSexo.Size = 1; ParSexo.Value = Cliente.Sexo; SqlCmd.Parameters.Add(ParSexo); SqlParameter ParFecha_Nacimiento = new SqlParameter(); ParFecha_Nacimiento.ParameterName = "@fecha_nacimiento"; ParFecha_Nacimiento.SqlDbType = SqlDbType.VarChar; ParFecha_Nacimiento.Size = 40; ParFecha_Nacimiento.Value = Cliente.Fecha_Nacimiento; SqlCmd.Parameters.Add(ParFecha_Nacimiento); SqlParameter ParTipo_Documento = new SqlParameter(); ParTipo_Documento.ParameterName = "@tipo_documento"; ParTipo_Documento.SqlDbType = SqlDbType.VarChar; ParTipo_Documento.Size = 20; ParTipo_Documento.Value = Cliente.Tipo_Documento; SqlCmd.Parameters.Add(ParTipo_Documento); SqlParameter ParNum_Documento = new SqlParameter(); ParNum_Documento.ParameterName = "@num_documento"; ParNum_Documento.SqlDbType = SqlDbType.VarChar; ParNum_Documento.Size = 8; ParNum_Documento.Value = Cliente.Num_Documento; SqlCmd.Parameters.Add(ParNum_Documento); SqlParameter ParDireccion = new SqlParameter(); ParDireccion.ParameterName = "@direccion"; ParDireccion.SqlDbType = SqlDbType.VarChar; ParDireccion.Size = 100; ParDireccion.Value = Cliente.Direccion; SqlCmd.Parameters.Add(ParDireccion); SqlParameter ParTelefono = new SqlParameter(); ParTelefono.ParameterName = "@telefono"; ParTelefono.SqlDbType = SqlDbType.VarChar; ParTelefono.Size = 10; ParTelefono.Value = Cliente.Telefono; SqlCmd.Parameters.Add(ParTelefono); SqlParameter ParEmail = new SqlParameter(); ParEmail.ParameterName = "@email"; ParEmail.SqlDbType = SqlDbType.VarChar; ParEmail.Size = 50; ParEmail.Value = Cliente.Email; SqlCmd.Parameters.Add(ParEmail); //Ejecutamos nuestro comando rpta = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "NO se Ingreso el Registro"; } catch (Exception ex) { rpta = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) SqlCon.Close(); } return rpta; } //Método Editar public string Editar(DCliente Cliente) { string rpta = ""; SqlConnection SqlCon = new SqlConnection(); try { //Código SqlCon.ConnectionString = Conexion.Cn; SqlCon.Open(); //Establecer el Comando SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "speditar_cliente"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParIdcliente = new SqlParameter(); ParIdcliente.ParameterName = "@idcliente"; ParIdcliente.SqlDbType = SqlDbType.Int; ParIdcliente.Value = Cliente.Idcliente; SqlCmd.Parameters.Add(ParIdcliente); SqlParameter ParNombre = new SqlParameter(); ParNombre.ParameterName = "@nombre"; ParNombre.SqlDbType = SqlDbType.VarChar; ParNombre.Size = 20; ParNombre.Value = Cliente.Nombre; SqlCmd.Parameters.Add(ParNombre); SqlParameter ParApellidos = new SqlParameter(); ParApellidos.ParameterName = "@apellidos"; ParApellidos.SqlDbType = SqlDbType.VarChar; ParApellidos.Size = 40; ParApellidos.Value = Cliente.Apellidos; SqlCmd.Parameters.Add(ParApellidos); SqlParameter ParSexo = new SqlParameter(); ParSexo.ParameterName = "@sexo"; ParSexo.SqlDbType = SqlDbType.VarChar; ParSexo.Size = 1; ParSexo.Value = Cliente.Sexo; SqlCmd.Parameters.Add(ParSexo); SqlParameter ParFecha_Nacimiento = new SqlParameter(); ParFecha_Nacimiento.ParameterName = "@fecha_nacimiento"; ParFecha_Nacimiento.SqlDbType = SqlDbType.VarChar; ParFecha_Nacimiento.Size = 40; ParFecha_Nacimiento.Value = Cliente.Fecha_Nacimiento; SqlCmd.Parameters.Add(ParFecha_Nacimiento); SqlParameter ParTipo_Documento = new SqlParameter(); ParTipo_Documento.ParameterName = "@tipo_documento"; ParTipo_Documento.SqlDbType = SqlDbType.VarChar; ParTipo_Documento.Size = 20; ParTipo_Documento.Value = Cliente.Tipo_Documento; SqlCmd.Parameters.Add(ParTipo_Documento); SqlParameter ParNum_Documento = new SqlParameter(); ParNum_Documento.ParameterName = "@num_documento"; ParNum_Documento.SqlDbType = SqlDbType.VarChar; ParNum_Documento.Size = 8; ParNum_Documento.Value = Cliente.Num_Documento; SqlCmd.Parameters.Add(ParNum_Documento); SqlParameter ParDireccion = new SqlParameter(); ParDireccion.ParameterName = "@direccion"; ParDireccion.SqlDbType = SqlDbType.VarChar; ParDireccion.Size = 100; ParDireccion.Value = Cliente.Direccion; SqlCmd.Parameters.Add(ParDireccion); SqlParameter ParTelefono = new SqlParameter(); ParTelefono.ParameterName = "@telefono"; ParTelefono.SqlDbType = SqlDbType.VarChar; ParTelefono.Size = 10; ParTelefono.Value = Cliente.Telefono; SqlCmd.Parameters.Add(ParTelefono); SqlParameter ParEmail = new SqlParameter(); ParEmail.ParameterName = "@email"; ParEmail.SqlDbType = SqlDbType.VarChar; ParEmail.Size = 50; ParEmail.Value = Cliente.Email; SqlCmd.Parameters.Add(ParEmail); //Ejecutamos nuestro comando rpta = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "NO se Actualizo el Registro"; } catch (Exception ex) { rpta = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) SqlCon.Close(); } return rpta; } //Método Eliminar public string Eliminar(DCliente Cliente) { string rpta = ""; SqlConnection SqlCon = new SqlConnection(); try { //Código SqlCon.ConnectionString = Conexion.Cn; SqlCon.Open(); //Establecer el Comando SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "speliminar_cliente"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParIdcliente = new SqlParameter(); ParIdcliente.ParameterName = "@idcliente"; ParIdcliente.SqlDbType = SqlDbType.Int; ParIdcliente.Value = Cliente.Idcliente; SqlCmd.Parameters.Add(ParIdcliente); //Ejecutamos nuestro comando rpta = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "NO se Elimino el Registro"; } catch (Exception ex) { rpta = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) SqlCon.Close(); } return rpta; } //Método Mostrar public DataTable Mostrar() { DataTable DtResultado = new DataTable("cliente"); SqlConnection SqlCon = new SqlConnection(); try { SqlCon.ConnectionString = Conexion.Cn; SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spmostrar_cliente"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter SqlDat = new SqlDataAdapter(SqlCmd); SqlDat.Fill(DtResultado); } catch (Exception ex) { DtResultado = null; } return DtResultado; } //Método BuscarApellidos public DataTable BuscarApellidos(DCliente Cliente) { DataTable DtResultado = new DataTable("cliente"); SqlConnection SqlCon = new SqlConnection(); try { SqlCon.ConnectionString = Conexion.Cn; SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spbuscar_cliente_apellidos"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParTextoBuscar = new SqlParameter(); ParTextoBuscar.ParameterName = "@textobuscar"; ParTextoBuscar.SqlDbType = SqlDbType.VarChar; ParTextoBuscar.Size = 50; ParTextoBuscar.Value = Cliente.TextoBuscar; SqlCmd.Parameters.Add(ParTextoBuscar); SqlDataAdapter SqlDat = new SqlDataAdapter(SqlCmd); SqlDat.Fill(DtResultado); } catch (Exception ex) { DtResultado = null; } return DtResultado; } //Método BuscarNum_Documento public DataTable BuscarNum_Documento(DCliente Cliente) { DataTable DtResultado = new DataTable("cliente"); SqlConnection SqlCon = new SqlConnection(); try { SqlCon.ConnectionString = Conexion.Cn; SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spbuscar_cliente_num_documento"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParTextoBuscar = new SqlParameter(); ParTextoBuscar.ParameterName = "@textobuscar"; ParTextoBuscar.SqlDbType = SqlDbType.VarChar; ParTextoBuscar.Size = 50; ParTextoBuscar.Value = Cliente.TextoBuscar; SqlCmd.Parameters.Add(ParTextoBuscar); SqlDataAdapter SqlDat = new SqlDataAdapter(SqlCmd); SqlDat.Fill(DtResultado); } catch (Exception ex) { DtResultado = null; } return DtResultado; } } }
Video 19: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (19-34) Tabla Cliente
Saludos Imperio, un abrazo a la distancia!
Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (19-41) Procedimientos almacenados, Mantenimiento Tabla Cliente
Reviewed by IncanatoIt-ad
on
9:59
Rating:
Graciasss
ResponderEliminarGracias ... he aprendido mucho ..eres un Capo :)
ResponderEliminarHola buenas he visto tus videos y son magnificos que me ha impresionado un monton el unico error mio es que cuando hice la compilacion o mejor dicho al ejecutar el Sistema de Ventas en Categoria Formulario. Me Sale 2 Errores que dice que falta CapaDatos.dll & CapaNegocio.dll .... A que se debe un favor deseo ese gran error.
ResponderEliminar