Está en la página 1de 5

Imports System.Data.

SqlClient
Imports System.Data
Public Class frmSPProducto
Private Sub cmbUnidadDeMedida_GotFocus(sender As System.Object, e As
System.EventArgs) Handles cmbUnidadDeMedida.GotFocus
adaptador = New SqlDataAdapter
datos = New DataSet
comando.Connection = bdconexion
comando = New SqlCommand("SPDisplayMemberCMBUnidadMedida", bdconexion)
comando.CommandType = CommandType.StoredProcedure
'por buena practica se decidio crear un SP en vez de la consulta para evitar sql
inyeccion
'comando.CommandText = "Select * from tblunidadmedida order by nombre"
adaptador.SelectCommand = comando
adaptador.Fill(datos, "DataSetUnidadMedida")
cmbUnidadDeMedida.Items.Clear()
Dim tabla As DataTable
tabla = datos.Tables("DataSetUnidadMedida")
cmbUnidadDeMedida.DataSource = tabla
cmbUnidadDeMedida.ValueMember = "codigo"
cmbUnidadDeMedida.DisplayMember = "nombre"
End Sub
Private Sub btnIngresar_Click(sender As System.Object, e As System.EventArgs) Handles
btnIngresar.Click
Try
'DEFINIR VARIABLES Y ASIGNARLES EL VALOR INGRESADO
Dim codigo As String = txtCodigo.Text
Dim nombre As String = txtNombre.Text
Dim unidadmedida As String = cmbUnidadDeMedida.SelectedValue.ToString
Dim existencia As Double = txtExistencia.Text
Dim costo As Double = txtCosto.Text
'CREAR COMANDO
bdconexion.Open()
comando = New SqlCommand("SPInsertarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
'ASIGNAR TIPOS DE DATOS A LOS PARAMETROS
Dim paramcodigo As New SqlParameter("@codigo", SqlDbType.VarChar)
Dim paramnombre As New SqlParameter("@nombre", SqlDbType.VarChar)
Dim paramunidadmedida As New SqlParameter("@unidadmedida",
SqlDbType.VarChar)
Dim paramexistencia As New SqlParameter("@existencia", SqlDbType.Decimal)
Dim paramcosto As New SqlParameter("@costo", SqlDbType.Decimal)
'EJECUTAR PROCEDIMIENTOS CON PARAMETROS ASIGANDOS
paramcodigo.Value = codigo
paramnombre.Value = nombre
paramunidadmedida.Value = unidadmedida
paramexistencia.Value = existencia
paramcosto.Value = costo
'ASIGNAR DATOS A LOS PARAMETROS
comando.Parameters.Add(paramcodigo)
comando.Parameters.Add(paramnombre)

comando.Parameters.Add(paramunidadmedida)
comando.Parameters.Add(paramexistencia)
comando.Parameters.Add(paramcosto)
'CREAR ADAPTADOR traer la informacion
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
'CREAR DATASET
datos = New DataSet
adaptador.Fill(datos, "DataSetInsertarProducto")
'MsgBox("Registro Insertado Exitosamente...")
'''''''''''''' esta parte se modifico para solicitud del profesor en la diapositiva esta
diferente
comando = New SqlCommand("SPListarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
datos = New DataSet
adaptador.Fill(datos, "DataSetListarProducto")
dgvProducto.DataSource = datos
dgvProducto.DataMember = ("DataSetListarProducto")
MsgBox("Registro Insertado Exitosamente")
Catch ex As Exception
'MENSAJE SI SE PRODUCE UN ERROR EN LA INSERCION DE DATOS
MsgBox("No se pudo insertar el registro...")
End Try
bdconexion.Close()
End Sub
Private Sub frmSPProducto_Load(sender As System.Object, e As System.EventArgs)
Handles MyBase.Load
'ARMAR EL COMANDO A EJECUTAR
bdconexion.Open()
comando = New SqlCommand("SPListarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
'EJECUTO EL COMANDO ATRAVEZ DEL ADAPTADOR
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
'ALMACENAR RESULTADO DE LA EJECUCION DEL COMANDO EN EL DATASET
datos = New DataSet
adaptador.Fill(datos, "DataSetListarProductos")
'LEER LOS DATOS EN EL DATASET Y VERIFICAR SI HAY REGISTROS
lectura = comando.ExecuteReader
If (lectura.HasRows = True) Then

'CARGAR EL DGV CON LOS DATOS DEL DATASET


Me.dgvProducto.DataSource = datos
Me.dgvProducto.DataMember = "DataSetListarProductos"
Else
'MENSAJE CUANDO EN EL DATASET NO HAY DATOS
MsgBox("No hay Datos")
End If
bdconexion.Close()
End Sub
Private Sub btnBuscar_Click(sender As System.Object, e As System.EventArgs) Handles
btnBuscar.Click
'DECLARAR VARIABLES PRIVADAS Y LE ASIGNO UN VALOR
Dim codigo As String
codigo = InputBox("Ingrese el Codigo del Producto a Buscar")
'ABRO LA CONEXION Y ARMO EL COMANDO A EJECUTAR
bdconexion.Open()
comando = New SqlCommand("SPBuscarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
Dim parametro As New SqlParameter("@codigo", SqlDbType.VarChar)
'ENTREGO EL VALOR DEL LA VARIABLE AL PARAMETRO DEL SP (PROCEDIMIENTO
ALMACENADO)
parametro.Value = codigo
comando.Parameters.Add(parametro)
'CREAR EL ADAPTADOR A TRAVES DEL CUAL EJECUTO EL COMANDO
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
'CREO EL DATASET PARA ALMACENAR LOS REGISTROS DE LA EJECUCION
datos = New DataSet()
adaptador.Fill(datos, "DatasetBuscarProducto")
'VERIFICAR SI EN EL DATASET HAY REGISTROS
lectura = comando.ExecuteReader
If (lectura.HasRows = True) Then
'CARGAR EL DGV CON LOS REGISTROS DEL DATASET
Me.dgvProducto.DataSource = datos
Me.dgvProducto.DataMember = "DatasetBuscarProducto"
Else
MsgBox("No hay Datos")
End If
'CIERRO LA CONEXION
bdconexion.Close()
End Sub
Private Sub btnEliminar_Click(sender As System.Object, e As System.EventArgs) Handles
btnEliminar.Click
Dim codigo As String
codigo = InputBox("Ingrese el codigo del Producto que desea eliminar")
Try
bdconexion.Open()

comando = New SqlCommand("SPBuscarProducto", bdconexion)


comando.CommandType = CommandType.StoredProcedure
Dim parametro1 As New SqlParameter("@codigo", SqlDbType.VarChar)
parametro1.Value = codigo
comando.Parameters.Add(parametro1)
lectura = comando.ExecuteReader
If (lectura.HasRows = True) Then
bdconexion.Close()
bdconexion.Open()
comando = New SqlCommand("SPEliminarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
Dim parametro As New SqlParameter("@codigo", SqlDbType.VarChar)
parametro.Value = codigo
comando.Parameters.Add(parametro)
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
datos = New DataSet
adaptador.Fill(datos, "DataSetEliminarProducto")
comando = New SqlCommand("SPListarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
datos = New DataSet
adaptador.Fill(datos, "DataSetListarProducto")
dgvProducto.DataSource = datos
dgvProducto.DataMember = "DataSetListarProducto"
MsgBox("Se elimino correctamente el registro")
Else
MsgBox("No se encontro el Producto")
End If
Catch ex As Exception
MsgBox("El registro no se puede eliminar")
End Try
bdconexion.Close()
End Sub
Private Sub btnActualizar_Click(sender As System.Object, e As System.EventArgs)
Handles btnActualizar.Click
Dim
Dim
Dim
Dim
Dim

codigo As String = txtCodigo.Text


nombre As String = txtNombre.Text
unidadmedida As String = cmbUnidadDeMedida.SelectedValue.ToString
existencia As Double = txtExistencia.Text
costo As Double = txtCosto.Text

Try
bdconexion.Open()
comando = New SqlCommand("SPActualizarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
Dim
Dim
Dim
Dim
Dim

parametro1
parametro2
parametro3
parametro4
parametro5

As
As
As
As
As

New
New
New
New
New

SqlParameter("@codigo", SqlDbType.VarChar)
SqlParameter("@nombre", SqlDbType.VarChar)
SqlParameter("@undmedida", SqlDbType.VarChar)
SqlParameter("@existencia", SqlDbType.Decimal)
SqlParameter("@costo", SqlDbType.Decimal)

parametro1.Value = codigo
comando.Parameters.Add(parametro1)
parametro2.Value = nombre
comando.Parameters.Add(parametro2)
parametro3.Value = unidadmedida
comando.Parameters.Add(parametro3)
parametro4.Value = existencia
comando.Parameters.Add(parametro4)
parametro5.Value = costo
comando.Parameters.Add(parametro5)
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
datos = New DataSet
adaptador.Fill(datos, "DataSetActualizarProducto")
comando = New SqlCommand("SPListarProducto", bdconexion)
comando.CommandType = CommandType.StoredProcedure
adaptador = New SqlDataAdapter
adaptador.SelectCommand = comando
adaptador.SelectCommand.Connection = bdconexion
datos = New DataSet
adaptador.Fill(datos, "DataSetListarProducto")
dgvProducto.DataSource = datos
dgvProducto.DataMember = "DataSetListarProducto"
MsgBox("El Registro se Actualizo Correctamente")
Catch ex As Exception
MsgBox("El registro no se ha podido actualizar")
End Try
bdconexion.Close()
End Sub

End class

También podría gustarte