Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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