Sunteți pe pagina 1din 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 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

INVEN T AR IO cod_unico responsable fecha stock id_item (F K)

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.

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

ING. FRANCISCO RODRIGUEZ N.

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

ING. FRANCISCO RODRIGUEZ N.

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

ING. FRANCISCO RODRIGUEZ N.

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

ING. FRANCISCO RODRIGUEZ N.

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

Paso 9: Codificar el objeto botn 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.

Pg

INGENIERIA INDUSTRIAL

INGENIERIA DE SOFTWARE

Paso 10: Ejecutar la aplicacin y probar el botn registrar inventario.

Ejercicios Propuestos 1. Implementar los procedimientos almacenados para actualizar, buscar y eliminar inventario.

2.

En la clase Inventario implementar los mtodos 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.

Pg

S-ar putea să vă placă și