VB. NET y SQL SERVER - ARQUITECTURA TRES CAPAS
Upcoming SlideShare
Loading in...5
×
 

VB. NET y SQL SERVER - ARQUITECTURA TRES CAPAS

on

  • 3,757 views

 

Statistics

Views

Total Views
3,757
Views on SlideShare
3,757
Embed Views
0

Actions

Likes
6
Downloads
916
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

VB. NET y SQL SERVER - ARQUITECTURA TRES CAPAS VB. NET y SQL SERVER - ARQUITECTURA TRES CAPAS Document Transcript

  • APLICACIÓN VB.NET Y SQL SERVER ARQUITECTURA TRES CAPAS 1. Desarrollar una aplicación en VB.NET y Ms SQL Server, basada en la arquitectura tres capas, para la siguiente base de datos de nombre pedidos: Se le pide lo siguiente: 1. Formulario Mantenimiento de Categorías (Reportar, Insertar, Actualizar y Eliminar) 2. Búsqueda por código, nombre y precio 3. Formulario Mantenimiento de Productos(Reportar, Insertar, Actualizar y Eliminar) 4. Búsqueda por Nombre de categoría Ayuda: Crear para cada tabla una clase: Primeramente empezamos con la creación de la base de datos y nuestros procedimientos almacenados: Procedimientos para generar los códigos de los nuevos registros.Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Procedimientos para insertar tanto productos como categorías. Procedimientos almacenados para actualizar productos y categoríasIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Procedimientos almacenados para listar productos y categorías Procedimientos almacenados para buscar productos y categorías Procedimiento almacenado para llenar el ComboBox categoría Claro siempre y cuando desee recuperar solo algunos registros o en todo caso usar el listar categorías:  Biblioteca Entidades 1. Clase Categoría Public Class Categoria Private midCategoria As Integer Private mNombreCategoria As String Private mDescripcionCategoria As String Public Sub New() End Sub Public Sub New(ByVal nombrecate As String) mNombreCategoria = nombrecateIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • End Sub Public Property idCategoria() As Integer Get Return midCategoria End Get Set(ByVal value As Integer) midCategoria = value End Set End Property Public Property NombreCategoria() As String Get Return mNombreCategoria End Get Set(ByVal value As String) mNombreCategoria = value End Set End Property Public Property DescripcionCategoria() As String Get Return mDescripcionCategoria End Get Set(ByVal value As String) mDescripcionCategoria = value End Set End Property End Class 2. Clase Producto Public Class Producto Private midproducto As Integer Private mDescripcion As String Private mprecio As Decimal Private midCategorias As String Private mStock As String Public Property idProducto() As Integer Get Return midproducto End Get Set(ByVal value As Integer) midproducto = value End Set End Property Public Property DescripcionProducto() As String Get Return mDescripcion End Get Set(ByVal value As String) mDescripcion = value End Set End Property Public Property PrecioProducto() As Decimal Get Return mprecio End Get Set(ByVal value As Decimal)Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • mprecio = value End Set End Property Public Property StockProducto() As String Get Return mStock End Get Set(ByVal value As String) mStock = value End Set End Property Public Property idCategoriaProducto() As String Get Return midCategorias End Get Set(ByVal value As String) midCategorias = value End Set End Property End Class Biblioteca Datos Clase: ProductoDAOImports ConexionImports EntidadesImports System.DataImports System.Data.SqlClientPublic Class ProductoDAO Public daProducto As SqlDataAdapter Public cmdProducto As New SqlCommand Public dsProducto As DataSet Public drProducto As SqlDataReader Dim objConexion As New conexionbd Public Function AgregarProducto(ByVal objProductoE As Producto) As String Dim mensaje As String cmdProducto.CommandType = CommandType.StoredProcedure cmdProducto.CommandText = "sp_insertar_producto" cmdProducto.Connection = objConexion.obtenerconexion If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If With cmdProducto.Parameters .Add("@idProducto", SqlDbType.Int).Value = objProductoE.idProducto .Add("@descripcion", SqlDbType.VarChar).Value = objProductoE.DescripcionProducto .Add("@precio", SqlDbType.Decimal).Value = objProductoE.PrecioProducto .Add("@stock", SqlDbType.Int).Value = objProductoE.StockProducto .Add("@idcategoria", SqlDbType.Int).Value = CInt(objProductoE.idCategoriaProducto) End With Dim registros As Integer registros = cmdProducto.ExecuteNonQuery() If registros = 1 Then mensaje = "Registro guardado correctamente" Return mensaje Else mensaje = "Error en la transaccion" Return mensaje End IfIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • cmdProducto.Parameters.Clear() objConexion.obtenerconexion.Close() End Function Public Function ActualizarProductos(ByVal objProductoE As Producto) As String Dim mensaje As String cmdProducto.CommandType = CommandType.StoredProcedure Nombre procedimiento almacenado cmdProducto.CommandText = "SP_Actualizar_Producto" obtener la conexion con la base de datos cmdProducto.Connection = objConexion.obtenerconexion Verificar el estado de la conexión If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If Creamos los parámetros Todos los atributos de la tabla Producto With cmdProducto.Parameters Obtenemos el IdProducto, usando el objProductoE .Add("@idProducto", SqlDbType.Int).Value = objProductoE.idProducto .Add("@descripcion", SqlDbType.VarChar).Value = objProductoE.DescripcionProducto .Add("@precio", SqlDbType.Decimal).Value = objProductoE.PrecioProducto .Add("@stock", SqlDbType.Int).Value = objProductoE.StockProducto .Add("@idcategoria", SqlDbType.Int).Value = CInt(objProductoE.idCategoriaProducto) End With Dim registros As Integer registros = cmdProducto.ExecuteNonQuery() If registros = 1 Then mensaje = "Registro Actualizado correctamente" Return mensaje Else mensaje = "Error en la transaccion" Return mensaje End If cmdProducto.Parameters.Clear() objConexion.obtenerconexion.Close() End Function Public Function listarProductos() As List(Of Producto) Dim lista As New List(Of Producto) Dim lector As SqlDataReader Dim objProducto As Producto cmdProducto = New SqlCommand("SP_Listar_Producto", objConexion.obtenerconexion) lector = cmdProducto.ExecuteReader While lector.Read objProducto = New Producto objProducto.IdProducto = lector(0) objProducto.DescripcionProducto = lector(1) objProducto.PrecioProducto = lector(2) objProducto.StockProducto = lector(3) Dim objeCategoria = New Categoria(lector(4)) objProducto.idCategoriaProducto = objeCategoria.NombreCategoria objProducto.idCategoriaProducto = lector(4) lista.Add(objProducto) End While Return lista End Function Public Function listarProducto(ByVal codigo As Integer) As Producto Dim lista As New List(Of Producto) Dim lector As SqlDataReader Dim objProducto As ProductoIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • objProducto = New Producto Dim objProducto1 As New Producto cmdProducto.CommandType = CommandType.StoredProcedure Nombre procedimiento almacenado cmdProducto.CommandText = "Sp_BuscarProducto" obtener la conexion con la base de datos cmdProducto.Connection = objConexion.obtenerconexion Verificar el estado de la conexión cmdProducto = New SqlCommand("Sp_BuscarProducto", objConexion.obtenerconexion) With cmdProducto.Parameters Obtenemos el IdProducto, usando el objProductoE .Add("@codigo", SqlDbType.Int).Value = codigo End With If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If lector = cmdProducto.ExecuteReader objProducto = New Producto If lector.Read Then objProducto.idProducto = lector(0) objProducto.DescripcionProducto = lector(1) objProducto.PrecioProducto = lector(2) objProducto.StockProducto = lector(3) Dim objeCategoria = New Categoria(lector(4)) objProducto.idCategoriaProducto = objeCategoria.NombreCategoria End If Return objProducto End Function Public Function codProducto() As Integer Dim codigo As Integer Dim lector As SqlDataReader cmdProducto = New SqlCommand("SP_Generar_Codigo_Producto", objConexion.obtenerconexion) lector = cmdProducto.ExecuteReader If lector.Read Then codigo = lector(0) End If Return codigo End FunctionEnd ClassClase: CategoriaDAOImports ConexionImports EntidadesImports System.DataImports System.Data.SqlClientPublic Class CategoriaDAO Public daCategoria As SqlDataAdapter Public cmdCategoria As New SqlCommand Public dsCategoria As DataSet Public drCategoria As SqlDataReader Dim conn As New SqlConnection("Data Source=.;Initial Catalog=SistemaFacturacion;IntegratedSecurity=True") Dim objConexion As New conexionbd Public Function AgregarCategoria(ByVal objCategoriaE As Categoria) As String Dim mensaje As String cmdCategoria.CommandType = CommandType.StoredProcedure cmdCategoria.CommandText = "SP_Inserta_Categoria"Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • cmdCategoria.Connection = objConexion.obtenerconexion If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If With cmdCategoria.Parameters .Add("@idCategoria", SqlDbType.Int).Value = objCategoriaE.idCategoria .Add("@nombre", SqlDbType.VarChar).Value = objCategoriaE.NombreCategoria .Add("@descripcion", SqlDbType.VarChar).Value = objCategoriaE.DescripcionCategoria End With Dim registros As Integer registros = cmdCategoria.ExecuteNonQuery() If registros = 1 Then mensaje = "Registro guardado correctamente" Return mensaje Else mensaje = "Error en la transaccion" Return mensaje End If cmdCategoria.Parameters.Clear() objConexion.obtenerconexion.Close() End Function Public Function ActualizarCategorias(ByVal objCategoriaE As Categoria) As String Dim mensaje As String cmdCategoria.CommandType = CommandType.StoredProcedure cmdCategoria.CommandText = "SP_Actualizar_Categoria" cmdCategoria.Connection = objConexion.obtenerconexion If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If cmdCliente.Connection = With cmdCategoria.Parameters .Add("@idCategoria", SqlDbType.Int).Value = objCategoriaE.idCategoria .Add("@nombre", SqlDbType.VarChar).Value = objCategoriaE.NombreCategoria .Add("@descripcion", SqlDbType.VarChar).Value = objCategoriaE.DescripcionCategoria End With Dim registros As Integer registros = cmdCategoria.ExecuteNonQuery() If registros = 1 Then mensaje = "Registro Actualizado correctamente" Return mensaje Else mensaje = "Error en la transaccion" Return mensaje End If cmdCategoria.Parameters.Clear() objConexion.obtenerconexion.Close() End Function Public Function listarCategorias() As List(Of Categoria) Dim lista As New List(Of Categoria) Dim lector As SqlDataReader Dim objCategoria As Categoria cmdCategoria = New SqlCommand("SP_Listar_Categoria", objConexion.obtenerconexion)Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • lector = cmdCategoria.ExecuteReader While lector.Read objCategoria = New Categoria objCategoria.idCategoria = lector(0) objCategoria.NombreCategoria = lector(1) objCategoria.DescripcionCategoria = lector(2) lista.Add(objCategoria) End While Return lista End Function Public Function listarCategoria(ByVal codigo As Integer) As Categoria Dim lista As New List(Of Categoria) Dim lector As SqlDataReader Dim objCategoria As Categoria objCategoria = New Categoria Dim objCategoria1 As New Producto cmdCategoria.CommandType = CommandType.StoredProcedure Nombre procedimiento almacenado cmdCategoria.CommandText = "Sp_Buscar_Categoria" obtener la conexion con la base de datos cmdCategoria.Connection = objConexion.obtenerconexion Verificar el estado de la conexión cmdProducto = New SqlCommand("Sp_BuscarProducto", objConexion.obtenerconexion) With cmdCategoria.Parameters Obtenemos el IdProducto, usando el objProductoE .Add("@idCategoria", SqlDbType.Int).Value = codigo End With If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If lector = cmdCategoria.ExecuteReader objProducto = New Producto If lector.Read Then objCategoria.idCategoria = lector(0) objCategoria.NombreCategoria = lector(1) objCategoria.DescripcionCategoria = lector(2) End If Return objCategoria End Function Public Function buscarCodxNombre(ByVal nombre As String) As Categoria Dim lista As New List(Of Categoria) Dim lector As SqlDataReader Dim objCategoria As Categoria objCategoria = New Categoria cmdCategoria.CommandType = CommandType.StoredProcedure Nombre procedimiento almacenado cmdCategoria.CommandText = "sp_categoria_buscaridxnombre" obtener la conexion con la base de datos cmdCategoria.Connection = objConexion.obtenerconexion Verificar el estado de la conexión cmdProducto = New SqlCommand("Sp_BuscarProducto", objConexion.obtenerconexion) With cmdCategoria.Parameters Obtenemos el IdProducto, usando el objProductoE .Add("@nombre", SqlDbType.VarChar).Value = nombre End With If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() ElseIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • objConexion.obtenerconexion.Open() End If lector = cmdCategoria.ExecuteReader objProducto = New Producto If lector.Read Then objCategoria.idCategoria = lector(0) objCategoria.NombreCategoria = lector(1) objCategoria.DescripcionCategoria = lector(2) End If Return objCategoria End Function Public Function llenarComboCategoria() As Categoria Dim lista As New List(Of Categoria) Dim lector As SqlDataReader Dim objCategoria As Categoria objCategoria = New Categoria cmdCategoria = New SqlCommand("sp_combo_categoria", objConexion.obtenerconexion) If objConexion.obtenerconexion.State = ConnectionState.Open Then objConexion.obtenerconexion.Close() Else objConexion.obtenerconexion.Open() End If lector = cmdCategoria.ExecuteReader If lector.Read Then objCategoria.idCategoria = lector(0) objCategoria.NombreCategoria = lector(1) End If Return objCategoria End Function Public Function codCategoria() As Integer Dim codigo As Integer Dim lector As SqlDataReader cmdCategoria = New SqlCommand("SP_Generar_Codigo_Categoria", objConexion.obtenerconexion) lector = cmdCategoria.ExecuteReader If lector.Read Then codigo = lector(0) End If Return codigo End FunctionEnd Class Biblioteca Negocio Clase: ProductoNE Imports Datos Imports Entidades Public Class ProductoNE Private objProductoDAO As ProductoDAO Public Sub New() objProductoDAO = New ProductoDAO End Sub Public Function AgregarProducto(ByVal objProductoE As Producto) As String Return objProductoDAO.AgregarProducto(objProductoE) End Function Public Function ActualizarProducto(ByVal objProductoE As Producto) As String Return objProductoDAO.ActualizarProductos(objProductoE) End Function Public Function CodProducto() As IntegerIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Return objProductoDAO.codProducto() End Function Public Function listarProductos() As List(Of Producto) Return objProductoDAO.listarProductos End Function Public Function listarProducto(ByVal codigo As Integer) As Producto Return objProductoDAO.listarProducto(codigo) End Function Public Function llenarComboProducto() As Producto Return objProductoDAO.llenarComboProducto End Function End Class Clase: CategoriaNE Imports Datos Imports Entidades Public Class CategoriaNE Private objCategoriaDAO As CategoriaDAO Public Sub New() objCategoriaDAO = New CategoriaDAO End Sub Public Function AgregarCategoria(ByVal objCategoriaE As Categoria) As String Return objCategoriaDAO.AgregarCategoria(objCategoriaE) End Function Public Function ActualizarCategoria(ByVal objCategoriaE As Categoria) As String Return objCategoriaDAO.ActualizarCategorias(objCategoriaE) End Function Public Function listarCategorias() As List(Of Categoria) Return objCategoriaDAO.listarCategorias End Function Public Function listarCategoria(ByVal codigo As Integer) As Categoria Return objCategoriaDAO.listarCategoria(codigo) End Function Public Function buscarCodxNombre(ByVal nombre As String) As Categoria Return objCategoriaDAO.buscarCodxNombre(nombre) End Function Public Function CodCategoria() As Integer Return objCategoriaDAO.codCategoria() End Function End Class Biblioteca Conexión Clase:conexionbd Imports System.Data Imports System.Data.SqlClient Public Class conexionbd Public cadena As String = "Data Source=.;Initial Catalog=BDEXA_TALLER_PRO;Integrated Security=True" Public conexion As SqlConnection Public Function obtenerconexion() As SqlConnection conexion = New SqlConnection(cadena) conexion.Open() Return conexion End FunctionIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Public Function AbrirConexion() As SqlConnection Dim con As SqlConnection con = New SqlConnection(cadena) con.Open() Return con End Function Public Function CerrarConexion() As SqlConnection Dim con As SqlConnection con = New SqlConnection(cadena) If con.State = ConnectionState.Open Then con.Close() End If con.Close() Return con End Function End Class Capa Presentación  Menú Principal:  Formularios:  FrmProductoIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  •  FrmCategoria Código fuente de la aplicación  Formulario FrmProductoImports EntidadesImports NegocioPublic Class FrmProducto Dim objCategoria As List(Of Categoria) Dim objCategoriaNE As CategoriaNE Dim objProductoNE As New ProductoNE Private Sub FrmProducto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load Dim objProductoNE1 As ProductoNE objProductoNE1 = New ProductoNE dgvProducto.DataSource = objProductoNE1.listarProductos ConfigurarDataGrid() BuscarProductos(1) cargarCategorias() HabilitarCajas(False) habilitarBotones(True, False, False, False) End Sub Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnNuevo.Click cargarCategorias() Me.txtcodigo.Text = objProductoNE.CodProducto limpiar_cajas() End Sub Private Sub btnGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnGrabar.Click Nuevo_Producto() End SubIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnActualizar.Click actualizarProductos() End Sub Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnCancelar.Click cancelar_producto() cargarCategorias() End Sub Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnBuscar.Click Dim objProductoNE As ProductoNE objProductoNE = New ProductoNE Dim objProductoE As New Producto Dim codigo As Integer = CInt(InputBox("Ingrese Código Producto")) BuscarProductos(codigo) End Sub Sub cargarCategorias() Dim producto1 As New Producto objCategoria = New List(Of Categoria) objCategoriaNE = New CategoriaNE objCategoria = objCategoriaNE.listarCategorias cboCategoria.DataSource = Nothing cboCategoria.DataSource = objCategoria cboCategoria.DisplayMember = "NombreCategoria" cboCategoria.ValueMember = "idCategoria" End Sub Sub limpiar_cajas() HabilitarCajas(True) LimpiarCajas() habilitarBotones(False, True, False, True) Dim objProductoNE = New ProductoNE Me.txtcodigo.Text = objProductoNE.CodProducto() End Sub Sub Nuevo_Producto() Dim objProductoE = New Producto Dim objProductoNE = New ProductoNE objProductoE.idProducto = CInt(txtcodigo.Text) objProductoE.DescripcionProducto = txtDescripcion.Text objProductoE.PrecioProducto = txtprecio.Text objProductoE.idCategoriaProducto = cboCategoria.SelectedValue objProductoE.StockProducto = txtStock.Text Dim salida As String = objProductoNE.AgregarProducto(objProductoE) MsgBox(salida) dgvProducto.DataSource = objProductoNE.listarProductos habilitarBotones(True, False, False, False) HabilitarCajas(False) End Sub Sub actualizarProductos() If txtcodigo.Text <> "" Then Dim objProductoE = New Producto Dim objProductoNE = New ProductoNE objProductoE.idProducto = CInt(txtcodigo.Text) objProductoE.DescripcionProducto = txtDescripcion.Text objProductoE.PrecioProducto = txtprecio.Text objProductoE.idCategoriaProducto = cboCategoria.SelectedValue objProductoE.StockProducto = txtStock.Text Dim salida As String = objProductoNE.ActualizarProducto(objProductoE) MsgBox(salida) dgvProducto.DataSource = objProductoNE.listarProductos Else MsgBox("Ingrese los datos para actualizar")Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • End If habilitarBotones(True, False, False, False) HabilitarCajas(False) End Sub Sub cancelar_producto() BuscarProductos(1) HabilitarCajas(False) habilitarBotones(True, False, False, False) End Sub Private Sub dgvProductos_CellClick(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs) Handles dgvProducto.CellClick If dgvProducto.Rows.Count > 0 Then Dim dgvFila As DataGridViewRow = Me.dgvProducto.CurrentRow() Me.txtcodigo.Text = dgvFila.Cells(0).Value Me.txtDescripcion.Text = dgvFila.Cells(1).Value Me.txtprecio.Text = dgvFila.Cells(2).Value Me.txtStock.Text = dgvFila.Cells(3).Value Me.cboCategoria.Text = dgvFila.Cells(4).Value Else MsgBox("No hay ningun registro seleccionado") End If habilitarBotones(False, False, True, True) HabilitarCajas(True) End Sub Sub LimpiarCajas() Me.txtcodigo.Clear() Me.txtDescripcion.Clear() Me.txtprecio.Clear() Me.cboCategoria.DataSource = Nothing Me.txtStock.Clear() End Sub Sub HabilitarCajas(ByVal estado) Me.txtcodigo.Enabled = False Me.txtDescripcion.Enabled = estado Me.txtprecio.Enabled = estado Me.cboCategoria.Enabled = estado Me.txtStock.Enabled = estado Me.txtDescripcion.Focus() End Sub Sub ConfigurarDataGrid() dgvProducto.RowsDefaultCellStyle.BackColor = Color.LightYellow dgvProducto.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen End Sub Sub habilitarBotones(ByVal btnnuevo As Boolean, ByVal btnAgregar As Boolean, ByVal btnActualizar AsBoolean, ByVal btncancelar As Boolean) Me.btnNuevo.Enabled = btnnuevo Me.btnGrabar.Enabled = btnAgregar Me.btnActualizar.Enabled = btnActualizar Me.btnCancelar.Enabled = btncancelar End Sub Sub BuscarProductos(ByVal codigo As Integer) Dim objProductoNE As ProductoNE objProductoNE = New ProductoNE Dim objProductoE As New Producto Dim idProducto As Integer idProducto = objProductoNE.CodProducto() - 1 If codigo > idProducto Then MsgBox("Registros no encontrado") Else objProductoE = objProductoNE.listarProducto(codigo)Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Me.txtcodigo.Text = objProductoE.idProducto Me.txtDescripcion.Text = objProductoE.DescripcionProducto Me.txtprecio.Text = objProductoE.PrecioProducto cboCategoria.DataSource = Nothing Me.cboCategoria.Text = objProductoE.idCategoriaProducto Me.txtStock.Text = objProductoE.StockProducto End If habilitarBotones(False, False, True, True) HabilitarCajas(True) End SubEnd Class Formulario: FrmCategoriaImports EntidadesImports NegocioPublic Class FrmCategoria Private Sub FrmCategoria_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load Dim objCategoriaNE1 As CategoriaNE objCategoriaNE1 = New CategoriaNE dgvCategoria.DataSource = objCategoriaNE1.listarCategorias ConfigurarDataGrid() BuscarCategorias(1) HabilitarCajas(False) habilitarBotones(True, False, False, False) End Sub Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnNuevo.Click Limpiar_Categoria() End Sub Private Sub btnGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnGrabar.Click Nueva_Categoria() End Sub Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnActualizar.Click actualizar_Categorias() End Sub Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnCancelar.Click Cancelar_Categoria() End Sub Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesbtnBuscar.Click Buscar_Categoria() End Sub Sub LimpiarCajas() Me.txtCodigo.Clear() Me.txtNombre.Clear() Me.txtdescripcion.Clear() End Sub Sub HabilitarCajas(ByVal estado) Me.txtCodigo.Enabled = False Me.txtNombre.Enabled = estado Me.txtDescripcion.Enabled = estado Me.txtNombre.Focus() End SubIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Sub ConfigurarDataGrid() dgvCategoria.RowsDefaultCellStyle.BackColor = Color.LightYellow dgvCategoria.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen End Sub Sub habilitarBotones(ByVal btnnuevo As Boolean, ByVal btnAgregar As Boolean, ByVal btnActualizar AsBoolean, ByVal btncancelar As Boolean) Me.btnNuevo.Enabled = btnnuevo Me.btnGrabar.Enabled = btnAgregar Me.btnActualizar.Enabled = btnActualizar Me.btnCancelar.Enabled = btncancelar End Sub Sub Limpiar_Categoria() HabilitarCajas(True) LimpiarCajas() habilitarBotones(False, True, False, True) Dim objCategoriaNE = New CategoriaNE Me.txtCodigo.Text = objCategoriaNE.CodCategoria() End Sub Sub Nueva_Categoria() Dim objCategoriaE = New Categoria Dim objCategoriaNE = New CategoriaNE objCategoriaE.idCategoria = CInt(txtCodigo.Text) objCategoriaE.NombreCategoria = txtNombre.Text objCategoriaE.DescripcionCategoria = txtdescripcion.Text Dim salida As String = objCategoriaNE.AgregarCategoria(objCategoriaE) MsgBox(salida) dgvCategoria.DataSource = objCategoriaNE.listarCategorias habilitarBotones(True, False, False, False) HabilitarCajas(False) End Sub Sub actualizar_Categorias() If txtCodigo.Text <> "" Then Dim objCategoriaE = New Categoria Dim objCategoriaNE = New CategoriaNE objCategoriaE.idCategoria = CInt(txtCodigo.Text) objCategoriaE.NombreCategoria = txtNombre.Text objCategoriaE.DescripcionCategoria = txtdescripcion.Text Dim salida As String = objCategoriaNE.ActualizarCategoria(objCategoriaE) MsgBox(salida) dgvCategoria.DataSource = objCategoriaNE.listarCategorias Else MsgBox("Ingrese los datos para actualizar") End If habilitarBotones(True, False, False, False) HabilitarCajas(False) End Sub Sub Cancelar_Categoria() BuscarCategorias(1) HabilitarCajas(False) habilitarBotones(True, False, False, False) End Sub Sub BuscarCategorias(ByVal codigo As Integer) Dim objCategoriaNE As CategoriaNE objCategoriaNE = New CategoriaNE Dim objCategoriaE As New Categoria Dim idCategoria As Integer idCategoria = objCategoriaNE.CodCategoria() - 1 If codigo > idCategoria Then MsgBox("Registros no Encontrado") Else objCategoriaE = objCategoriaNE.listarCategoria(codigo) Me.txtCodigo.Text = objCategoriaE.idCategoriaIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Me.txtNombre.Text = objCategoriaE.NombreCategoria Me.txtdescripcion.Text = objCategoriaE.DescripcionCategoria End If habilitarBotones(False, False, True, True) HabilitarCajas(True) End Sub Sub Buscar_Categoria() Dim objCategoriaNE As CategoriaNE objCategoriaNE = New CategoriaNE Dim objCategoriaE As New Categoria Dim codigo As Integer = CInt(InputBox("Ingrese Código Categoria")) BuscarCategorias(codigo) End Sub Private Sub dgvCategoria_CellClick(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs) Handles dgvCategoria.CellClick If dgvCategoria.Rows.Count > 0 Then Dim dgvFila As DataGridViewRow = Me.dgvCategoria.CurrentRow() Me.txtCodigo.Text = dgvFila.Cells(0).Value Me.txtNombre.Text = dgvFila.Cells(1).Value Me.txtdescripcion.Text = dgvFila.Cells(2).Value Else MsgBox("No hay ningun registro seleccionado") End If habilitarBotones(False, False, True, True) HabilitarCajas(True) End SubEnd ClassIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Ejecución de la aplicación1. Ejecutamos el Menú Principal: Ing. Hobby Saavedra Rosas2. Menú Mantenimiento: Opción ProductoIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  •  Opciones:  Nuevo: Clic en el botón nuevo, y nos genera automáticamente el código del nuevo producto, procedemos a ingresar los datos del producto y seleccionamos la categoría:  Grabar: Después de haber ingresado los datos, hacemos clic en el botón Grabar, y observamos que el registro fue guardado con éxito.Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  •  Actualizar: Para Actualizar tenemos dos opciones, respecto al registro a modificar, podemos seleccionar el DataGridView, o realizar la búsqueda por el código del producto que deseamos modificar. Actualizamos los datos del producto de código 7.  Cancelar: Sirve para deshacer alguna acción que no estamos seguros de hacerlo.Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Por ejemplo acá intentamos modificar los datos pero abortamos dicha acción por lo tanto cancelamos y nos muestra el primer registro.  Buscar: Realizamos la búsqueda del producto de código 8Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Clic en aceptar del cuadro de dialogo: Ahora ya podemos actualizar los datos del producto. Si este existiera en la base de datos.3. Menú Mantenimiento: Opción CategoríaIng. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Opciones: Nuevo: Ingresamos los datos de la nueva categoría: Grabar: Hacemos clic en grabar, para registrar la nueva categoría en la base de datos.Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Actualizar: Ahora es parecido al proceso que se realiza para el producto, en este caso vamos actualizar los datos de la categoría de código 4: Luego clic en el botón Actualizar.Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER
  • Buscar: Vamos a buscar los datos de la categoría de Código 3:Ing. Hobby Saavedra Rosas VB.NET Y SQL SERVER