Isw guia2 20121

707 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
707
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
58
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Isw guia2 20121

  1. 1. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE GUIA PRACTICA 2 – VISUAL BASIC 2010 + SQL SERVER MANTENIMIENTO DE TABLAS 1-N1. En la base de datos BDALMACEN considerada en la Guía Práctica 1, implementar el formulario para mantenimiento del Inventario de cada ítem. Utilice procedimientos almacenados para las operaciones con la base de datos. SoluciónPaso 1: Considerar la base de datos BDALMACEN. PROVEEDOR id_proveedor ENTRADA_ALMACEN nombre_prov nro_entrada direc_prov nro_factura (FK) FACTURA fecha nro_factura id_proveedor (FK) descripcion total_bienes AREAS valor_total id_area nombre_area DETALLE_ENTRADA descripcion nro_entrada (FK) nro_factura (FK) id_item (FK) DETALLE_FACTURA cantidad SALIDA_ALMACEN nro_factura (FK) nro_salida id_item (FK) ITEM empleado_responsable cantidad id_item fecha_salida fecha_entrega nombre id_area (FK) nro_entrada (FK) nro_factura (FK) DETALLE_ITEM INVENTARIO id_item (FK) cod_unico nro_salida (FK) responsable cantidad fecha stock id_item (FK)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 ENDING. FRANCISCO RODRIGUEZ N. Pág 1
  2. 2. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWAREPaso 3: En el proyecto trabajado en la guía1, considerar en el menú de opciones en la opciónMantenimiento, 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 esteformulario por el de FormInventario.Paso 5: En el FormProveedor incorporar los controles (objetos) que se indicanING. FRANCISCO RODRIGUEZ N. Pág 2
  3. 3. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE OBJETO ATRIBUTO VALOR Label1 Text CODIGO INV Label2 Text ITEM Label3 Text STOCK Label4 Text FECHA Label5 Text RESPONSABLE GroupBox1 Text Operaciones TextBox1 Name txtcodigoinv Text TextBox2 Name txtrespons Text ComboBox1 Name ComboItem NumericUpDown1 Name NumStock DateTimePicker Name DTFecha DataGridView Name DGVInv Button1 Text Registrar Name BtnRegInv Button2 Text Actualizar Name BtnActInv Button3 Text Eliminar Name BtnEliminarInv Button4 Text Limpiar Name BtnLimpiarInv Button5 Text Buscar Name BtnBuscarInvPaso 6: En el Menú, en la opción Inventario dar doble click y escribir el siguiente código (para elllamado del formulario desde el Menu Principal).Private Sub INVENTARIOToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles INVENTARIOToolStripMenuItem.Click Dim MnuInventario As New FormInventario MnuInventario.Show()End SubING. FRANCISCO RODRIGUEZ N. Pág 3
  4. 4. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWAREPaso 7: En el explorador de soluciones (superior derecha) Marcar ProyectoAlmacen – clickderecho – Agregar – Clase. Implementar la clase Inventario con sus correspondientes atributos ymétodos.Imports System.Data.SqlClientPublic 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;IntegratedSecurity=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 AsDate, ByVal trespons As String) Me.idinv = tidinv Me.iditem = tiditem Me.stock = tstock Me.fechainv = tfecha Me.respons = trespons conn = New SqlConnection(strConn) End SubING. FRANCISCO RODRIGUEZ N. Pág 4
  5. 5. 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.StoredProcedureING. FRANCISCO RODRIGUEZ N. Pág 5
  6. 6. 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 FunctionEnd ClassPaso 8: Ubicarse en el formulario Inventario. Alli dar doble click Codificar los métodos que seindican (dentro de la clase FormInventarioING. FRANCISCO RODRIGUEZ N. Pág 6
  7. 7. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWAREPrivate Sub FormInventario_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load FillGridInv() CargaComboItem()End SubPrivate Sub FillGridInv() Try Dim objInventario As New Inventario With objInventario DGVInv.DataSource = .ListarInventarios End With Catch ex As Exception MsgBox("Mensaje: " & ex.Message) End TryEnd SubPrivate 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 TryEnd SubPaso 9: Codificar el objeto botón Registrar en el formulario Inventario.Private Sub BtnRegInv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesBtnRegInv.Click Try Dim objInventario As New Inventario With objInventario .fidinv = txtcodigoinv.Text .fiditem = ComboItem.SelectedValue .fstock = NumStock.Value .ffecha = DTFecha.Value .frespons = txtrespons.Text .RegistrarInventario() End With MsgBox("Inventario Registrado !!!!") FillGridInv() Llenar el Grid Catch ex As Exception MsgBox("Mensaje: " & ex.Message) End Try End SubING. FRANCISCO RODRIGUEZ N. Pág 7
  8. 8. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWAREPaso 10: Ejecutar la aplicación y probar el botón registrar inventario.Ejercicios Propuestos1. Implementar los procedimientos almacenados para actualizar, buscar y eliminar inventario.2. En la clase Inventario implementar los métodos de actualizar, buscar y eliminar inventario.3. En el formulario de Inventario implementar los botones de buscar, actualizar y eliminar inventario.ING. FRANCISCO RODRIGUEZ N. Pág 8

×