SlideShare uma empresa Scribd logo
1 de 8
INGENIERIA INDUSTRIAL                                                                             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 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ón
Paso 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
     END

ING. FRANCISCO RODRIGUEZ N.                                                                                            Pág 1
INGENIERIA INDUSTRIAL                                                   INGENIERIA DE SOFTWARE



Paso 3: En el proyecto trabajado en la guía1, considerar en el menú de opciones en la opción
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.




Paso 5: En el FormProveedor incorporar los controles (objetos) que se indican




ING. FRANCISCO RODRIGUEZ N.                                                               Pág 2
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                     BtnBuscarInv


Paso 6: En el Menú, en la opción Inventario dar doble click y escribir el siguiente código (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




ING. FRANCISCO RODRIGUEZ N.                                                                 Pág 3
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
métodos.




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



ING. FRANCISCO RODRIGUEZ N.                                                               Pág 4
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.                                               Pág 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 métodos que se
indican (dentro de la clase FormInventario




ING. FRANCISCO RODRIGUEZ N.                                                           Pág 6
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


Paso 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) Handles
BtnRegInv.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 Sub



ING. FRANCISCO RODRIGUEZ N.                                                              Pág 7
INGENIERIA INDUSTRIAL                                                     INGENIERIA DE SOFTWARE



Paso 10: Ejecutar la aplicación y probar el botón registrar inventario.



Ejercicios Propuestos
1. 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

Mais conteúdo relacionado

Destaque

Certain Problems In Taxes Associated With Charity And Also Non Secular Company S
Certain Problems In Taxes Associated With Charity And Also Non Secular Company SCertain Problems In Taxes Associated With Charity And Also Non Secular Company S
Certain Problems In Taxes Associated With Charity And Also Non Secular Company SGlenda492Salazar
 
Instalacion win2003 server
Instalacion win2003 serverInstalacion win2003 server
Instalacion win2003 serverpelm
 
Happy mother’s day from fl fam
Happy mother’s day from fl famHappy mother’s day from fl fam
Happy mother’s day from fl fammtymouse83
 
Chesapeake presentation to cusc membership
Chesapeake presentation to cusc membershipChesapeake presentation to cusc membership
Chesapeake presentation to cusc membershipralsop9814
 
Jahitan
Jahitan Jahitan
Jahitan sabar80
 
southeast montgomery_county
 southeast montgomery_county southeast montgomery_county
southeast montgomery_countyPerk Ostrewich
 
12 dewa yunani kuno
12 dewa yunani kuno12 dewa yunani kuno
12 dewa yunani kunowahidA2
 
Corporate Presentation English For Linked In
Corporate Presentation English For Linked InCorporate Presentation English For Linked In
Corporate Presentation English For Linked Inalfred_mulder
 

Destaque (12)

Cusc answers
Cusc answersCusc answers
Cusc answers
 
Certain Problems In Taxes Associated With Charity And Also Non Secular Company S
Certain Problems In Taxes Associated With Charity And Also Non Secular Company SCertain Problems In Taxes Associated With Charity And Also Non Secular Company S
Certain Problems In Taxes Associated With Charity And Also Non Secular Company S
 
Instalacion win2003 server
Instalacion win2003 serverInstalacion win2003 server
Instalacion win2003 server
 
Happy mother’s day from fl fam
Happy mother’s day from fl famHappy mother’s day from fl fam
Happy mother’s day from fl fam
 
Chesapeake presentation to cusc membership
Chesapeake presentation to cusc membershipChesapeake presentation to cusc membership
Chesapeake presentation to cusc membership
 
Kingwood Market
Kingwood MarketKingwood Market
Kingwood Market
 
Jahitan
Jahitan Jahitan
Jahitan
 
southeast montgomery_county
 southeast montgomery_county southeast montgomery_county
southeast montgomery_county
 
12 dewa yunani kuno
12 dewa yunani kuno12 dewa yunani kuno
12 dewa yunani kuno
 
Watertek
WatertekWatertek
Watertek
 
Corporate Presentation English For Linked In
Corporate Presentation English For Linked InCorporate Presentation English For Linked In
Corporate Presentation English For Linked In
 
Tracy pp1
Tracy pp1Tracy pp1
Tracy pp1
 

Último

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 

Último (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 

Isw guia2 20121

  • 1. INGENIERIA INDUSTRIAL 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 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ón Paso 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 END ING. FRANCISCO RODRIGUEZ N. Pág 1
  • 2. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE Paso 3: En el proyecto trabajado en la guía1, considerar en el menú de opciones en la opción 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. Paso 5: En el FormProveedor incorporar los controles (objetos) que se indican ING. FRANCISCO RODRIGUEZ N. Pág 2
  • 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 BtnBuscarInv Paso 6: En el Menú, en la opción Inventario dar doble click y escribir el siguiente código (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 ING. FRANCISCO RODRIGUEZ N. Pág 3
  • 4. 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 métodos. 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 ING. FRANCISCO RODRIGUEZ N. Pág 4
  • 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.StoredProcedure ING. FRANCISCO RODRIGUEZ N. Pág 5
  • 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 Function End Class Paso 8: Ubicarse en el formulario Inventario. Alli dar doble click Codificar los métodos que se indican (dentro de la clase FormInventario ING. FRANCISCO RODRIGUEZ N. Pág 6
  • 7. 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 Paso 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) Handles BtnRegInv.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 Sub ING. FRANCISCO RODRIGUEZ N. Pág 7
  • 8. INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE Paso 10: Ejecutar la aplicación y probar el botón registrar inventario. Ejercicios Propuestos 1. 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