Documente Academic
Documente Profesional
Documente Cultură
INGENIERIA DE SOFTWARE
GUIA PRACTICA 2 VISUAL BASIC 2010 + SQL SERVER MANTENIMIENTO DE TABLAS 1-N 1.
En la base de datos BDALMACEN considerada en la Gua Prctica 1, implementar el formulario para mantenimiento del Inventario de cada tem. Utilice procedimientos almacenados para las operaciones con la base de datos. Solucin Paso 1: Considerar la base de datos BDALMACEN.
P R OVE EDOR ENT R ADA_ALMACE N nro_entrada nro_factura (FK) FACT UR A nro_factura descripcion total_bienes valor_total DET ALLE _ENT R ADA nro_entrada (FK) nro_factura (F K) id_item (FK) DE T ALLE _FACT UR A nro_factura (FK) id_item (F K) cantidad IT EM id_item nombre cantidad S ALIDA_ALMACE N nro_salida empleado_responsable fecha_salida fecha_entrega id_area (FK) nro_entrada (FK) nro_factura (FK) DE T ALLE_IT EM id_item (FK) nro_salida (FK) cantidad fecha id_proveedor (FK) AR E AS id_ area nombre_area descripcion id_proveedor nombre_prov direc_prov
Paso 2: Implementar en la base de datos los siguientes procedimientos almacenados: a). sp_insertaInventario b). sp_ListaInventario c). sp_BuscaInventario d). sp_ActualizaInventario e). sp_EliminaInventario
CREATE PROCEDURE SP_INSERTAINVENTARIO @PIDINV VARCHAR(10), @RESP VARCHAR(20), @FECHAINV DATETIME, @STOCKINV INT, @PIDITEM VARCHAR(20) AS BEGIN INSERT INTO INVENTARIO(cod_unico,responsable,fecha,stock,id_item) VALUES (@PIDINV,@RESP, @FECHAINV, @STOCKINV, @PIDITEM) END CREATE PROCEDURE SP_LISTAINVENTARIO AS BEGIN SELECT * FROM INVENTARIO END
ING. FRANCISCO RODRIGUEZ N. Pg 1
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
Paso 3: En el proyecto trabajado en la gua1, considerar en el men de opciones en la opcin Mantenimiento, incluir Inventario.
Paso 4: En el explorador de soluciones (superior derecha) Marcar ProyectoAlmacen click derecho Agregar WindowsForm Agregue un Windows form (Form1). Cambiar el texto y name de este formulario por el de FormInventario.
Pg
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
OBJETO Label1 Label2 Label3 Label4 Label5 GroupBox1 TextBox1 TextBox2 ComboBox1 NumericUpDown1 DateTimePicker DataGridView Button1 Button2 Button3 Button4 Button5
ATRIBUTO Text Text Text Text Text Text Name Text Name Text Name Name Name Name Text Name Text Name Text Name Text Name Text Name
VALOR CODIGO INV ITEM STOCK FECHA RESPONSABLE Operaciones txtcodigoinv txtrespons ComboItem NumStock DTFecha DGVInv Registrar BtnRegInv Actualizar BtnActInv Eliminar BtnEliminarInv Limpiar BtnLimpiarInv Buscar BtnBuscarInv
Paso 6: En el Men, en la opcin Inventario dar doble click y escribir el siguiente cdigo (para el llamado del formulario desde el Menu Principal).
Private Sub INVENTARIOToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INVENTARIOToolStripMenuItem.Click Dim MnuInventario As New FormInventario MnuInventario.Show() End Sub
Pg
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
Paso 7: En el explorador de soluciones (superior derecha) Marcar ProyectoAlmacen click derecho Agregar Clase. Implementar la clase Inventario con sus correspondientes atributos y mtodos.
Imports System.Data.SqlClient Public Class Inventario Private idinv, iditem, respons As String Private stock As Integer Private fechainv As Date Private conn As SqlConnection Private cmd As SqlCommand Private strConn As String = "SERVER=localhost;DATABASE=BDALMACEN;Integrated Security=SSPI;" Sub New() conn = New SqlConnection(strConn) End Sub Sub New(ByVal tidinv As String, ByVal tiditem As String, ByVal tstock As Integer, ByVal tfecha As Date, ByVal trespons As String) Me.idinv = tidinv Me.iditem = tiditem Me.stock = tstock Me.fechainv = tfecha Me.respons = trespons conn = New SqlConnection(strConn) End Sub
Pg
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
Public Property fidinv() As String Get Return Me.idinv End Get Set(ByVal value As String) Me.idinv = value End Set End Property Public Property fiditem() As String Get Return Me.iditem End Get Set(ByVal value As String) Me.iditem = value End Set End Property Public Property fstock() As Integer Get Return Me.stock End Get Set(ByVal value As Integer) Me.stock = value End Set End Property Public Property ffecha() As Date Get Return Me.fechainv End Get Set(ByVal value As Date) Me.fechainv = value End Set End Property Public Property frespons() As String Get Return Me.respons End Get Set(ByVal value As String) Me.respons = value End Set End Property Public Sub RegistrarInventario() Try conn.Open() cmd = New SqlCommand("SP_INSERTAINVENTARIO", conn) cmd.CommandType = CommandType.StoredProcedure
ING. FRANCISCO RODRIGUEZ N. Pg 5
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
cmd.Parameters.AddWithValue("@pidinv", idinv) cmd.Parameters.AddWithValue("@piditem", iditem) cmd.Parameters.AddWithValue("@stockinv", stock) cmd.Parameters.AddWithValue("@fechainv", fechainv) cmd.Parameters.AddWithValue("@resp", respons) cmd.ExecuteNonQuery() Catch ex As Exception Throw New Exception(ex.Message) Finally conn.Close() End Try End Sub Public Function ListarInventarios() As DataTable Try Dim ds As DataSet Dim da As SqlDataAdapter conn.Open() cmd = New SqlCommand("SP_LISTAINVENTARIO", conn) cmd.CommandType = CommandType.StoredProcedure ds = New DataSet da = New SqlDataAdapter(cmd) da.Fill(ds) Return ds.Tables(0) Catch ex As Exception Throw New Exception(ex.Message) Finally conn.Close() End Try End Function End Class
Paso 8: Ubicarse en el formulario Inventario. Alli dar doble click Codificar los mtodos que se indican (dentro de la clase FormInventario
Pg
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
Private Sub FormInventario_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FillGridInv() CargaComboItem() End Sub Private Sub FillGridInv() Try Dim objInventario As New Inventario With objInventario DGVInv.DataSource = .ListarInventarios End With Catch ex As Exception MsgBox("Mensaje: " & ex.Message) End Try End Sub Private Sub CargaComboItem() Try Dim objItem As New Item With objItem ComboItem.DataSource = .ListarItems ComboItem.DisplayMember = "Nombre" ComboItem.ValueMember = "Id_Item" End With Catch ex As Exception MsgBox("Mensaje: " & ex.Message) End Try End Sub
Pg
INGENIERIA INDUSTRIAL
INGENIERIA DE SOFTWARE
Ejercicios Propuestos 1. Implementar los procedimientos almacenados para actualizar, buscar y eliminar inventario.
2.
Pg