SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
UNJBG
                                      ¡¡LÍDER EN CAPACITACIÓN INFORMÁTICA!!
           ITEL
                                 Garantía del proceso Enseñanza-Aprendizaje con las últimas
         CARRERA
                                    tecnologías, con computadoras de última generación,
      Técnico Analista                                                                                        CURSO
                                  impresoras, escáner, multimedia, redes, Internet, material
      Programador de                                                                                 Programación Visual .NET II
                               didáctico paso a paso, biblioteca y aula virtual con docentes del
         Sistemas
                                                        más alto nivel.


                                    GUÍA DE LABORATORIO N° 03
OBJETIVOS:
• Crear aplicaciones para actualizar y/o mantenimiento de tablas, realizando la misma sin el asistente o añadiendo
   objetos, todo con código para evitar las propiedades de enlace y trabajar en un ambiente desconectado

1.   ENTORNO INTEGRADO DE DESARROLLO
     • Proceda a ingresar Visual Studio .NET y realice lo siguiente:
     • Deberá Abrir la solución realizada en la práctica anterior (SisVentas)

2.   CREACION DE FORMULARIO DE Mantenimiento de Empleados (frmActualizarEmpleado.vb)
     2.1. Agregue un nuevo formulario a su proyecto y guárdelo con el nombre de frmActualizarEmpleado.vb
     2.2. Proceda a agregar los siguientes objetos según se observa a continuación:




                                       Esquema general de la estructura desconectada de datos




Bimestre Académico   : 2009-                                                               Docente    : José L. Ponce Segura
Ciclo                : V                                (1 de 11)                          Fecha      : Tacna, Mayo del 2009
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                       Curso: Programación Visual .NET II

     2.3.   Agregando los botones del ToolStrip “Barra de Herramientas” para actualización y Desplazamiento
            • Para ello deberá agregar un componente ToolStrip
            • Luego haga clic derecho sobre el y seleccione Editar Elementos…
            • Nos visualizará la Ventana siguiente, en ella deberás agregar los elementos “miembros del
                ToolStrip”, para ello solo deberás hacer clic en el botón Agregar cuantas veces sea necesarios
                según la imagen.
            • Una vez que haz agregado todos los miembros del ToolStrip, procede a establecer las propiedades
                Name, ToolTiptext e Image para c/u de los elementos.
            • El Name a establecer a cada elemento es el que se aprecia en la imagen




     2.4.   Ahora procederemos a establecer las propiedades de los demás objetos


            Objeto                  Propiedad                                     Valor Asignado
    Form1                    Name                             frmActualizarEmpleado
                             BackgroundImage                  Haga clic en … y Seleccione la imagen que Ud. Desee
                             Icon                             Haga clic en … y busque un icono de su agrado
                             Startposition                    CenterScreen
    Label3, label4....       Text                             Agregar los textos respectivos en cada Etiqueta
    TextBox1                 Name                             TxtCodEmp
    TextBox2                 Name                             TxtNomEmp
    TextBox3                 Name                             TxtApeEmp
    TextBox4                 Name                             TxtDirEmp
    GroupBox2                Name                             grbsexo
                             Text                             Sexo
    RadioButton1             Name                             RbtMasculino
                             Text                             Masculino
    RadioButton2             Name                             RbtFemenino
                             Text                             Femenino
    TextBox5                 Name                             TxtTelEmp
    Combo1                   Name                             CboCargo
                             Text
    Button1                  Name                             btnNuevoCargo
                             Text                             Nuevo Cargo…
Docente: José Luis Ponce Segura                      Prac03 (2 de 11)                       e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                                          www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                   Curso: Programación Visual .NET II

     Label1                  Name                             LblActivo
     TextBox6                Name                             txtObservacion
     Button2                 Name                             BtnAgregarFoto
                             Text                             Agregar Foto…
     Label10                 Name                             lblRutaFoto

     2.5.   Establecer el tamaño adecuado a cada control ú objeto que esta dentro del formulario.
     2.6.   A todas las etiquetas establecer la propiedad Autosize = True

3.   CREAR PROCEDIMIENTOS ALMACENADOS (ABRIR EL ANALIZADOR DE CONSULTAS)

     Ingresar al Analizador de Consultas y Crear los siguientes Procedimientos Almacenados de mantenimiento
     de Datos:

      Procedimiento para Insertar Registros:

      CREATE PROCEDURE AgregarEmpleado
      (
      @codemp varchar(5),
      @nomemp varchar(20),
      @apeemp varchar(20),
      @diremp varchar(25),
      @sexemp bit,
      @telemp varchar(8),
      @codcar varchar(5),
      @activo bit,
      @observacion varchar(80),
      @foto varchar(50)
      )
      AS
      begin transaction
      INSERT EMPLEADO(codemp,nomemp,apeemp,diremp,sexemp,telemp,codcar,activo,observacion,foto)
      VALUES
      (@codemp,@nomemp,@apeemp,@diremp,@sexemp,@telemp,@codcar,@activo,@observacion,@foto)
      if @@error=0
             commit transaction
      else
             rollback transaction
      Para agregarlo a la BD: Sombree el Procedimiento y pulse F5, o clic en el botón ejecutar.

      Procedimiento para Desactivar un Empleado:
      CREATE PROCEDURE DesactivaEmpleado
      (
      @codemp varchar(5),
      @activo bit
      )
      AS
      BEGIN TRANSACTION
      UPDATE EMPLEADO
      SET
      codemp=@codemp,
      activo=@activo
      WHERE codemp=@codemp
      IF @@ERROR=0
             COMMIT TRANSACTION
      ELSE
             ROLLBACK TRANSACTION

Docente: José Luis Ponce Segura                      Prac03 (3 de 11)                   e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                                      www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                   Curso: Programación Visual .NET II


     Procedimiento para Eliminar Registros: (Sólo de referencia)
     CREATE PROCEDURE EliminarEmpleado
     @codemp varchar(5)
     AS
     BEGIN TRANSACTION
     DELETE FROM EMPLEADO WHERE codemp=@codemp
     IF @@ERROR=0
            COMMIT TRANSACTION
     ELSE
            ROLLBACK TRANSACTION

     Procedimiento para Modificar Registros :
     CREATE PROCEDURE ModificarEmpleado
     (
     @codemp varchar(5),
     @nomemp varchar(20),
     @apeemp varchar(20),
     @diremp varchar(25),
     @sexemp bit,
     @telemp varchar(8),
     @codcar varchar(5),
     @activo bit,
     @observacion varchar(100),
     @foto varchar(50)
     )
     AS
     BEGIN TRANSACTION
     UPDATE EMPLEADO
     SET
     codemp=@codemp,
     nomemp=@nomemp,
     apeemp=@apeemp,
     diremp=@diremp,
     sexemp=@sexemp,
     telemp=@telemp,
     codcar=@codcar,
     activo=@activo,
     observacion=@observacion,
     foto=@foto
     WHERE codemp=@codemp
     IF @@ERROR=0
            COMMIT TRANSACTION
     ELSE
            ROLLBACK TRANSACTION


4.   CODIFICACIÓN DEL FORMULARIO DE ACTUALIZACIÓN DE EMPLEADOS
     No olvide que para este formulario solo se trabaja con Procedimientos Almacenados para realizar el
     mantenimiento de los registros de Empleados.

     AHORA PROCEDEREMOS A ESCRIBIR EL CODIGO CORRESPONDIENTE:
     Agregar la Biblioteca de Clases SQLClient: Sirve para poder utilizar los objetos SQLconnection, SqlCommand,
     SqlDataAdapter




Docente: José Luis Ponce Segura                      Prac03 (4 de 11)                   e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                                      www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                      Curso: Programación Visual .NET II

Biblioteca de Clase:
     Option Compare Text
     Imports System.Data.SqlClient
     Imports System.Data

En la Sección de Declaraciones Generales escriba:
    Dim dacargo As SqlDataAdapter
    Dim objDataAdapter As SqlDataAdapter
    Dim objDataSet As New DataSet
    Dim objDataRow As DataRow
    Dim posicion, flag, resultado As Integer

Private Sub frmActualizarEmpleado_Load(ByVal sender As System.Object, ByVal e As
                                                  System.EventArgs) Handles MyBase.Load
  Conexion.Open()
  objDataAdapter = New SqlDataAdapter("SELECT * FROM EMPLEADO WHERE
activo=1",Conexion)
  objDataAdapter.Fill(objDataSet, "EMPLEADO")
  Conexion.Close()
  llenarcombos(False)
  posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1)
  CargarDatos()
  lblRutaFoto.Visible = False
  HabilitarControles(False)
  HabilitarBotones(True)
  'Estableciendo etiquetas a las cajas
  txtCodEmp.Tag = "Código"       :    txtNomEmp.Tag = "Nombres"
  txtApeEmp.Tag = "Apellidos"    :    txtDirEmp.Tag = "dirección"
  txtTelEmp.Tag = "Teléfono"     :    txtObservacion.Tag = "Observacion"
End Sub
Procedimientos de Usuario
Private Sub llenarcombos(ByVal cargo As Boolean)
  Conexion.Open()
  desconectarcombos()
  dacargo = New SqlDataAdapter("SELECT * FROM cargo", ModConexion.Conexion)
  If cargo = False Then
    dacargo.Fill(objDataSet, "cargo")
  Else
    objDataSet.Tables("cargo").Clear()
    dacargo.Fill(objDataSet, "cargo")
    cargo = False
  End If
  Conexion.Close()
  cboCargo.DataBindings.Add(New
System.Windows.Forms.Binding("SelectedValue",objDataSet, "Empleado.codcar"))
  cboCargo.DataSource = Me.objDataSet.Tables("Cargo")
  cboCargo.DisplayMember = "descar"
  cboCargo.ValueMember = "codcar"
  cboCargo.DropDownStyle = ComboBoxStyle.DropDownList
  ' si es que se ha agregado un nuevo cargo, lo selecionamos
  If cargo = False Then cboCargo.SelectedIndex = cboCargo.Items.Count - 1
End Sub
Private Sub CargarDatos()
  Dim valor As Boolean
  Try
    objDataRow = objDataSet.Tables("EMPLEADO").Rows(posicion)
    txtCodEmp.Text = objDataRow("codemp")
    txtNomEmp.Text = objDataRow("nomemp")
    txtApeEmp.Text = objDataRow("apeemp")
    txtDirEmp.Text = objDataRow("diremp")
    valor = objDataRow("sexemp")
Docente: José Luis Ponce Segura                      Prac03 (5 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                         www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                      Curso: Programación Visual .NET II

    If valor Then
      rbtMasculino.Checked = True
      rbtFemenino.Checked = False
    Else
      rbtMasculino.Checked = False
      rbtFemenino.Checked = True
    End If
    txtTelEmp.Text = objDataRow("telemp")
    cboCargo.SelectedValue = objDataRow("codcar")
    txtObservacion.Text = objDataRow("observacion").ToString
    If objDataRow("foto").ToString = Nothing Then
      PictureBox1.Image = Nothing
      lblRutaFoto.Text = Nothing
    Else
      lblRutaFoto.Text = objDataRow("foto")
    End If
    If objDataRow("activo") = True Then
      lblActivo.Text = "Activo" : lblActivo.ForeColor = Color.Blue
    End if
    If objDataRow("activo") = False Then
      lblActivo.Text = "Inactivo" : lblActivo.ForeColor = Color.Red
    End if
    tslRegistro.Text = "Registro: " & posicion + 1 & " de " & _
                                          objDataSet.Tables("EMPLEADO").Rows.Count
    actualizafoto()
  Catch exc As Exception
    MessageBox.Show(exc.Message)
  End Try
End Sub
Private Sub HabilitarControles(ByVal est As Boolean)
  Dim ctrl As Control
  For Each ctrl In Me.Controls
    If TypeOf ctrl Is TextBox Then ctrl.Enabled = est
  Next
  txtCodEmp.ReadOnly = True
  cboCargo.Enabled = est
  grbSexo.Enabled = est
End Sub
Private Sub HabilitarBotones(ByVal est As Boolean)
  Dim oitem As Windows.Forms.ToolStripItem
  For Each oitem In ToolStrip1.Items
    If TypeOf oitem Is ToolStripButton Then
      oitem.Enabled = est
    End If
  Next
  tsbGuardar.Enabled = Not est
  tsbCancelar.Enabled = Not est
  btnAgregarFoto.Visible = Not est
  btnNuevoCargo.Visible = Not est
End Sub
Function verificavacios() As Boolean
  Dim objetos As Object
  For Each objetos In Me.Controls
    If TypeOf objetos Is TextBox Then
      If objetos.name <> "txtTelEmp" And objetos.name <> "txtObservacion" And
                                                            objetos.TextLength = 0 Then
        MsgBox("Debe ingresar: " & objetos.tag)
        verificavacios = True
        Exit Function
      End If
    End If

Docente: José Luis Ponce Segura                      Prac03 (6 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                         www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                      Curso: Programación Visual .NET II

  Next
  If cboCargo.SelectedIndex < 0 Then
    MsgBox("Debe seleccionar un cargo")
    verificavacios = True
  End If
End Function
Private Sub GeneraCodigo()
  Dim codi As String
  Dim cmd As New SqlCommand("select max(codemp) from empleado",Conexion)
  Conexion.Open()
  codi = cmd.ExecuteScalar
  Conexion.Close()
  Me.txtCodEmp.Text = Format(Val(codi) + 1, "00000")
End Sub

Private Sub desconectarcombos()   ‘ IMPORTANTE: ESTE PROC. DEBE SER CREADO EN EL MÓDULO
  cboCargo.DataBindings.Clear()   Public Sub LimpiarTextBox(ByVal ofrm As Form)
End Sub                             For Each oControl As Control In ofrm.Controls
Private Sub LimpiarControles()        If TypeOf oControl Is TextBox Then
  LimpiarTextBox(Me)                    oControl.Text = ""
  PictureBox1.Image = Nothing         End If
End Sub                             Next
                                  End Sub
Private Sub Desplazar(ByVal op As Integer)
  Select Case op
    Case 1
      posicion = 0
      CargarDatos()
    Case 2
      If posicion = 0 Then
        MessageBox.Show("Primer Registro", "", 0, MessageBoxIcon.Information)
      Else
        posicion -= 1
        CargarDatos()
      End If
    Case 3
      If posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1) Then
        MessageBox.Show("Último Registro", "", 0, MessageBoxIcon.Information)
      Else
        posicion += 1
        CargarDatos()
      End If
    Case 4
      posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1)
      CargarDatos()
  End Select
End Sub
Private Sub actualizafoto()
  Dim mifoto As Bitmap
  If objDataRow("foto").ToString = Nothing Then
    PictureBox1.Image = Nothing
  Else
    mifoto = New Bitmap(Me.lblRutaFoto.Text)
    PictureBox1.Image = CType(mifoto, Image)
  End If
End Sub




Docente: José Luis Ponce Segura                      Prac03 (7 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                         www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                      Curso: Programación Visual .NET II


Private Sub AgregaCargo(ByVal codi As String, ByVal nombre As String)
  'Agregando el nuevo registro a la tabla cargo
  Dim objcomando As New SqlCommand("INSERT INTO Cargo (codcar,descar) VALUES
                                                            (@codcar,@descar)",Conexion)
  'Parámetros
  objcomando.Parameters.Add(New SqlParameter("@codcar", SqlDbType.VarChar))
  objcomando.Parameters("@codcar").Value = codi
  objcomando.Parameters.Add(New SqlParameter("@descar", SqlDbType.VarChar))
  objcomando.Parameters("@descar").Value = nombre
  Conexion.Open()
  objcomando.ExecuteNonQuery()
  ModConexion.Conexion.Close()
  llenarcombos(True)
End Sub
Private Sub Editar()                      Private Sub Actualizar()
  flag = 2                                  'Para actualizar el DataSet
  HabilitarControles(True)                  objDataSet.Clear()
  HabilitarBotones(False)                   objDataAdapter.Fill(objDataSet, "EMPLEADO")
  txtNomEmp.Focus()                       End Sub
End Sub
Private Sub Nuevo()                       Private Sub Cancelar()
  flag = 1                                  Conexion.Open()
  lblRutaFoto.Text = Nothing                objDataSet.RejectChanges()
  HabilitarControles(True)                  Conexion.Close()
  HabilitarBotones(False)                   HabilitarControles(False)
  LimpiarControles()                        HabilitarBotones(True)
  GeneraCodigo()                            Desplazar(4)
End Sub                                   End Sub
Private Sub ToolStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As
     System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
  Select Case e.ClickedItem.Name
    ' Actualización
    Case "tsbnuevo"   ' Botón Nuevo
      Nuevo()
    Case "tsbguardar"   ' Botón Guardar
      Guardar()
    Case "tsbeditar"   ' Botón Editar
      Editar()
    Case "tsbcancelar"   ' Botón Cancelar
      Cancelar()
    Case "tsbeliminar"   ' Botón Desactivar Empleado
      Dim rpta As MsgBoxResult
      rpta = MsgBox("Esta seguro que desea Desactivar Al Empleado :" & _
      Chr(13) & Chr(10) & txtCodEmp.Text & " - " & txtNomEmp.Text & " " & _
      txtApeEmp.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Confirmación")
      If rpta = vbYes Then DesactivaEmpleado(txtCodEmp.Text, 0)
    Case "tsbsalir"   ' Botón Salir
      Me.Close()
    ' Desplazamiento
    Case "tsbprimero"   ' Ir a al Primero
      Desplazar(1)
    Case "tsbanterior"    ' Ir al Anterior
      Desplazar(2)
    Case "tsbsiguiente" ' Ir al Siguiente
      Desplazar(3)
    Case "tsbultimo"       ' Ir al Último
    Desplazar(4)
  End Select
End Sub


Docente: José Luis Ponce Segura                      Prac03 (8 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                         www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                      Curso: Programación Visual .NET II



Private Sub Guardar()
  If verificavacios() = True Then    Exit Sub
  Dim objComando As New SqlCommand
  Dim oper As String, valor, activo As Boolean
  objComando.Connection = ModConexion.Conexion
  objComando.CommandType = CommandType.StoredProcedure
  If flag = 1 Then 'Agregar
    objComando.CommandText = "AgregarEmpleado"
    oper = " insertados : "
  Else ' Editar
    objComando.CommandText = "modificarEmpleado"
    oper = " modificados : "
  End If
  Try
    'Agregando Parametros
    objComando.Parameters.Add(New SqlParameter("@codemp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@nomemp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@apeemp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@diremp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@sexemp", SqlDbType.Bit))
    objComando.Parameters.Add(New SqlParameter("@telemp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@codcar", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@activo", SqlDbType.Bit))
    objComando.Parameters.Add(New SqlParameter("@observacion", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@foto", SqlDbType.VarChar))
    'asignando valores a parametros
    If rbtMasculino.Checked = True Then
      valor = True
    Else
      valor = False
    End If
    activo = True ' Todos los empleados nuevos son activos, ¿activar un empleado?
    objComando.Parameters("@codemp").Value = txtCodEmp.Text
    objComando.Parameters("@nomemp").Value = txtNomEmp.Text
    objComando.Parameters("@apeemp").Value = txtApeEmp.Text
    objComando.Parameters("@diremp").Value = txtDirEmp.Text
    objComando.Parameters("@sexemp").Value = valor
    objComando.Parameters("@telemp").Value = txtTelEmp.Text
    objComando.Parameters("@codcar").Value = cboCargo.SelectedValue
    objComando.Parameters("@activo").Value = activo
    objComando.Parameters("@observacion").Value = txtObservacion.Text
    objComando.Parameters("@foto").Value = lblRutaFoto.Text
    Conexion.Open()
    resultado = objComando.ExecuteNonQuery
    Actualizar()
    Conexion.Close()
    posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1)
    MessageBox.Show("Registros " & oper & resultado, "", 0,
MessageBoxIcon.Information)
  Catch exc As Exception
    MessageBox.Show(exc.Message)
  End Try
  llenarcombos(False)
  Desplazar(4)
  HabilitarControles(False)
  HabilitarBotones(True)
End Sub



Docente: José Luis Ponce Segura                      Prac03 (9 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                         www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                   Curso: Programación Visual .NET II



Private Sub DesactivaEmpleado(ByVal codi As String, ByVal estado As Boolean)
  Dim objComando As New SqlCommand
  objComando.Connection = ModConexion.Conexion
  objComando.CommandType = CommandType.StoredProcedure
  objComando.CommandText = "DesactivaEmpleado"
  Try
    'Agregando Parametros
    objComando.Parameters.Add(New SqlParameter("@codemp", SqlDbType.VarChar))
    objComando.Parameters.Add(New SqlParameter("@activo", SqlDbType.Bit))
    'asignando valores a parametros
    objComando.Parameters("@codemp").Value = codi
    objComando.Parameters("@activo").Value = estado
    Conexion.Open()
    resultado = objComando.ExecuteNonQuery
    Actualizar()
    Conexion.Close()
    MessageBox.Show(resultado & " Empleado Desactivado", "", 0,
MessageBoxIcon.Information)
    Desplazar(1)
  Catch exc As Exception
    MessageBox.Show(exc.Message)
  End Try
  llenarcombos(False)
  HabilitarControles(False)
  HabilitarBotones(True)
End Sub
Private Sub btnAgregarFoto_Click(ByVal sender As System.Object, ByVal e As
                                         System.EventArgs) Handles btnAgregarFoto.Click
  Dim mifoto As Bitmap
  Dim curfilename As String = ""
  Dim opendlg As OpenFileDialog = New OpenFileDialog
  opendlg.Filter = "All Bitmapfiles|*.*"
  Dim filter As String = opendlg.Filter
  opendlg.Title = "open a bitmap file"
  If opendlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
    curfilename = opendlg.FileName
    lblRutaFoto.Text = curfilename
    mifoto = New Bitmap(curfilename)
    PictureBox1.Image = CType(mifoto, Image)
  Else
    Exit Sub
  End If
End Sub
Private Sub btnNuevoCargo_Click(ByVal sender As System.Object, ByVal e As
                                          System.EventArgs) Handles btnNuevoCargo.Click
  'Generando código para el nuevo cargo
  Dim codi As String
  Dim cmd As New SqlCommand("select max(codcar) from cargo", ModConexion.Conexion)
  Conexion.Open()
  codi = cmd.ExecuteScalar
  codi = Format(Val(codi) + 1, "00000")
  Conexion.Close()
  ' Solicitando el nombre del nuevo cargo
  Dim nombre As String
  nombre = InputBox("Ingrese Nombre de nuevo cargo:", "Agregando Nuevo Cargo")
  If nombre.Length < 4 Then
    MsgBox("Debe ingresar mínimo 4 caracteres", MsgBoxStyle.Critical, "Error")
    Exit Sub
  Else

Docente: José Luis Ponce Segura                  Prac03 (10 de 11)      e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                      www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                  Curso: Programación Visual .NET II

    Dim rpta As MsgBoxResult
    rpta = MsgBox("Esta seguro que desea agregar el nuevo cargo :" & _
    Chr(13) & Chr(10) & “codigo: " & codi & Chr(13) & Chr(10) & _
    "Nombre: " & nombre, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Confirmación")
    If rpta = vbYes Then
      AgregaCargo(codi, nombre)
    Else
      Exit Sub
    End If
  End If
End Sub
Private Sub tsbBuscarbasico_Click(ByVal sender As System.Object, ByVal e As
               System.EventArgs) Handles tsbBuscarbasico.Click, tsbBuscarAvanzado.Click
  Select Case sender.name
    Case "tsbbuscarbasico"
      Dim strDato As String
      Dim fila As Integer
      Dim dv As New DataView
      strDato = InputBox("Ingrese codigo del Empleado: ", "Buscar")
      dv.Table = objDataSet.Tables("Empleado")
      dv.Sort = "codemp"
      fila = dv.Find(strDato)
      If fila = -1 Then
        MessageBox.Show("Codigo del Empleado no Existe", "Cuidado")
        Exit Sub
      End If
      posicion = fila
      CargarDatos()
    Case "tsbbuscaravanzado"
      MessageBox.Show("Proximamente será implementado", "Busqueda Avanzada",
                                      MessageBoxButtons.OK, MessageBoxIcon.Information)
  End Select
End Sub


TAREA ENCARGADA: ….. / …… / ………….
      En base al presente formulario, proceda a realizar los formularios correspondientes para Clientes, Artículos y
      Categoría. Así mismo deberá enlazarlos c/u a la opción de Menú que corresponda.
      Haga los procedimientos necesarios para poder visualizar a los empleados Inactivos, y poder activar a uno
      de ellos según sea el caso.




Docente: José Luis Ponce Segura                  Prac03 (11 de 11)                     e-mail : jlponcesg@hotmail.com
Cel. : 952636911                                                                                     www.redtacna.net

Más contenido relacionado

La actualidad más candente

Practica Dos Delphi
Practica Dos DelphiPractica Dos Delphi
Practica Dos DelphiJose Ponce
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis DelphiJose Ponce
 
Practica Uno Delphi
Practica Uno DelphiPractica Uno Delphi
Practica Uno DelphiJose Ponce
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basicRaul Hernandez
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro DelphiJose Ponce
 
Practica Cinco Delphi
Practica Cinco DelphiPractica Cinco Delphi
Practica Cinco DelphiJose Ponce
 
Curso C M S 03
Curso  C M S 03Curso  C M S 03
Curso C M S 03Jose Ponce
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, JsJose Ponce
 
Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021lissette_torrealba
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidasalenco
 
Formulario
FormularioFormulario
Formularioljds
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrapljds
 
Formularios y contenedores
Formularios y contenedoresFormularios y contenedores
Formularios y contenedoreszeta2015
 

La actualidad más candente (20)

Practica Dos Delphi
Practica Dos DelphiPractica Dos Delphi
Practica Dos Delphi
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis Delphi
 
Practica Uno Delphi
Practica Uno DelphiPractica Uno Delphi
Practica Uno Delphi
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basic
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
 
Practica Cinco Delphi
Practica Cinco DelphiPractica Cinco Delphi
Practica Cinco Delphi
 
Curso C M S 03
Curso  C M S 03Curso  C M S 03
Curso C M S 03
 
Guia n1 tam 2009 1
Guia n1 tam 2009 1Guia n1 tam 2009 1
Guia n1 tam 2009 1
 
Practica 1 html_basico
Practica 1 html_basicoPractica 1 html_basico
Practica 1 html_basico
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Copia de entorno de grado (1)
Copia de entorno de grado (1)Copia de entorno de grado (1)
Copia de entorno de grado (1)
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidas
 
Formulario
FormularioFormulario
Formulario
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
 
Introduccion a VB6
Introduccion a VB6Introduccion a VB6
Introduccion a VB6
 
Formularios y contenedores
Formularios y contenedoresFormularios y contenedores
Formularios y contenedores
 
manual visual basic 02
manual visual basic 02 manual visual basic 02
manual visual basic 02
 

Destacado

Destacado (20)

HTML
HTMLHTML
HTML
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web Html
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 
Ficha de codigos HTML
Ficha de codigos HTMLFicha de codigos HTML
Ficha de codigos HTML
 
Guia4 java
Guia4 javaGuia4 java
Guia4 java
 
Guia1 java
Guia1 javaGuia1 java
Guia1 java
 
Guia2 java
Guia2 javaGuia2 java
Guia2 java
 
Guia3 java
Guia3 javaGuia3 java
Guia3 java
 
Guia8 java
Guia8 javaGuia8 java
Guia8 java
 
Proyecto, PHP y MySQL
Proyecto, PHP y MySQLProyecto, PHP y MySQL
Proyecto, PHP y MySQL
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
Laboratorio 03
Laboratorio 03Laboratorio 03
Laboratorio 03
 
Insertar Videos Youtube en Moodle
Insertar Videos Youtube en MoodleInsertar Videos Youtube en Moodle
Insertar Videos Youtube en Moodle
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
Guia6 java
Guia6 javaGuia6 java
Guia6 java
 
Cms vigil1
Cms vigil1Cms vigil1
Cms vigil1
 
Ejercicios Basicos HTML
Ejercicios Basicos HTMLEjercicios Basicos HTML
Ejercicios Basicos HTML
 
Sistema electrico
Sistema electricoSistema electrico
Sistema electrico
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 

Similar a Programación Visual .NET II - Guía de Laboratorio N° 03

Similar a Programación Visual .NET II - Guía de Laboratorio N° 03 (20)

Guia no3 ado.net
Guia no3 ado.netGuia no3 ado.net
Guia no3 ado.net
 
Guia no3 ado.net
Guia no3 ado.netGuia no3 ado.net
Guia no3 ado.net
 
Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7
 
04 practica lenguaje programacion - componentes
04   practica lenguaje programacion - componentes04   practica lenguaje programacion - componentes
04 practica lenguaje programacion - componentes
 
Herramientasinteractivas
HerramientasinteractivasHerramientasinteractivas
Herramientasinteractivas
 
Laboratorio 2 arquitectura de computadores
Laboratorio 2 arquitectura de computadoresLaboratorio 2 arquitectura de computadores
Laboratorio 2 arquitectura de computadores
 
Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
 
Hx c27
Hx c27Hx c27
Hx c27
 
Actionscrip 30
Actionscrip 30Actionscrip 30
Actionscrip 30
 
P6 net2005
P6 net2005P6 net2005
P6 net2005
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Visual
VisualVisual
Visual
 
Laboratorio nº 2
Laboratorio nº 2Laboratorio nº 2
Laboratorio nº 2
 
Laboratorio nº 2
Laboratorio nº 2Laboratorio nº 2
Laboratorio nº 2
 
C:\fakepath\laboratorio nº 2
C:\fakepath\laboratorio nº 2C:\fakepath\laboratorio nº 2
C:\fakepath\laboratorio nº 2
 
Practicas de Visual Basic 6
Practicas de Visual Basic 6Practicas de Visual Basic 6
Practicas de Visual Basic 6
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual Basic
 
Action script 3
Action script 3Action script 3
Action script 3
 
Practica adicional
Practica adicionalPractica adicional
Practica adicional
 

Más de Jose Ponce

Net1 capitulo iii - estructuras condicionales
Net1   capitulo iii - estructuras condicionalesNet1   capitulo iii - estructuras condicionales
Net1 capitulo iii - estructuras condicionalesJose Ponce
 
Net1 capitulo ii - variables de memoria & array
Net1   capitulo ii - variables de memoria & arrayNet1   capitulo ii - variables de memoria & array
Net1 capitulo ii - variables de memoria & arrayJose Ponce
 
Sesion 1 introduccion a moodle
Sesion 1  introduccion a moodleSesion 1  introduccion a moodle
Sesion 1 introduccion a moodleJose Ponce
 
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...Jose Ponce
 
Practica Tres Delphi
Practica Tres DelphiPractica Tres Delphi
Practica Tres DelphiJose Ponce
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de JoomlaJose Ponce
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 FundamentosJose Ponce
 
Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion PhpJose Ponce
 
Proyectos Web 2 Introduccion Html
Proyectos Web   2 Introduccion HtmlProyectos Web   2 Introduccion Html
Proyectos Web 2 Introduccion HtmlJose Ponce
 
Curso Cms 2 Sistema De GestióN De Contenidos
Curso Cms   2 Sistema De GestióN De ContenidosCurso Cms   2 Sistema De GestióN De Contenidos
Curso Cms 2 Sistema De GestióN De ContenidosJose Ponce
 
Curso Cms 1 Fundamentos
Curso Cms   1 FundamentosCurso Cms   1 Fundamentos
Curso Cms 1 FundamentosJose Ponce
 

Más de Jose Ponce (13)

Net1 capitulo iii - estructuras condicionales
Net1   capitulo iii - estructuras condicionalesNet1   capitulo iii - estructuras condicionales
Net1 capitulo iii - estructuras condicionales
 
Net1 capitulo ii - variables de memoria & array
Net1   capitulo ii - variables de memoria & arrayNet1   capitulo ii - variables de memoria & array
Net1 capitulo ii - variables de memoria & array
 
Sesion 1 introduccion a moodle
Sesion 1  introduccion a moodleSesion 1  introduccion a moodle
Sesion 1 introduccion a moodle
 
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Practica Tres Delphi
Practica Tres DelphiPractica Tres Delphi
Practica Tres Delphi
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de Joomla
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 Fundamentos
 
Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion Php
 
Proyectos Web 2 Introduccion Html
Proyectos Web   2 Introduccion HtmlProyectos Web   2 Introduccion Html
Proyectos Web 2 Introduccion Html
 
Curso Cms 03
Curso Cms 03Curso Cms 03
Curso Cms 03
 
Curso Cms 2 Sistema De GestióN De Contenidos
Curso Cms   2 Sistema De GestióN De ContenidosCurso Cms   2 Sistema De GestióN De Contenidos
Curso Cms 2 Sistema De GestióN De Contenidos
 
Curso Cms 1 Fundamentos
Curso Cms   1 FundamentosCurso Cms   1 Fundamentos
Curso Cms 1 Fundamentos
 

Último

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

Programación Visual .NET II - Guía de Laboratorio N° 03

  • 1. UNJBG ¡¡LÍDER EN CAPACITACIÓN INFORMÁTICA!! ITEL Garantía del proceso Enseñanza-Aprendizaje con las últimas CARRERA tecnologías, con computadoras de última generación, Técnico Analista CURSO impresoras, escáner, multimedia, redes, Internet, material Programador de Programación Visual .NET II didáctico paso a paso, biblioteca y aula virtual con docentes del Sistemas más alto nivel. GUÍA DE LABORATORIO N° 03 OBJETIVOS: • Crear aplicaciones para actualizar y/o mantenimiento de tablas, realizando la misma sin el asistente o añadiendo objetos, todo con código para evitar las propiedades de enlace y trabajar en un ambiente desconectado 1. ENTORNO INTEGRADO DE DESARROLLO • Proceda a ingresar Visual Studio .NET y realice lo siguiente: • Deberá Abrir la solución realizada en la práctica anterior (SisVentas) 2. CREACION DE FORMULARIO DE Mantenimiento de Empleados (frmActualizarEmpleado.vb) 2.1. Agregue un nuevo formulario a su proyecto y guárdelo con el nombre de frmActualizarEmpleado.vb 2.2. Proceda a agregar los siguientes objetos según se observa a continuación: Esquema general de la estructura desconectada de datos Bimestre Académico : 2009- Docente : José L. Ponce Segura Ciclo : V (1 de 11) Fecha : Tacna, Mayo del 2009
  • 2. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II 2.3. Agregando los botones del ToolStrip “Barra de Herramientas” para actualización y Desplazamiento • Para ello deberá agregar un componente ToolStrip • Luego haga clic derecho sobre el y seleccione Editar Elementos… • Nos visualizará la Ventana siguiente, en ella deberás agregar los elementos “miembros del ToolStrip”, para ello solo deberás hacer clic en el botón Agregar cuantas veces sea necesarios según la imagen. • Una vez que haz agregado todos los miembros del ToolStrip, procede a establecer las propiedades Name, ToolTiptext e Image para c/u de los elementos. • El Name a establecer a cada elemento es el que se aprecia en la imagen 2.4. Ahora procederemos a establecer las propiedades de los demás objetos Objeto Propiedad Valor Asignado Form1 Name frmActualizarEmpleado BackgroundImage Haga clic en … y Seleccione la imagen que Ud. Desee Icon Haga clic en … y busque un icono de su agrado Startposition CenterScreen Label3, label4.... Text Agregar los textos respectivos en cada Etiqueta TextBox1 Name TxtCodEmp TextBox2 Name TxtNomEmp TextBox3 Name TxtApeEmp TextBox4 Name TxtDirEmp GroupBox2 Name grbsexo Text Sexo RadioButton1 Name RbtMasculino Text Masculino RadioButton2 Name RbtFemenino Text Femenino TextBox5 Name TxtTelEmp Combo1 Name CboCargo Text Button1 Name btnNuevoCargo Text Nuevo Cargo… Docente: José Luis Ponce Segura Prac03 (2 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 3. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Label1 Name LblActivo TextBox6 Name txtObservacion Button2 Name BtnAgregarFoto Text Agregar Foto… Label10 Name lblRutaFoto 2.5. Establecer el tamaño adecuado a cada control ú objeto que esta dentro del formulario. 2.6. A todas las etiquetas establecer la propiedad Autosize = True 3. CREAR PROCEDIMIENTOS ALMACENADOS (ABRIR EL ANALIZADOR DE CONSULTAS) Ingresar al Analizador de Consultas y Crear los siguientes Procedimientos Almacenados de mantenimiento de Datos: Procedimiento para Insertar Registros: CREATE PROCEDURE AgregarEmpleado ( @codemp varchar(5), @nomemp varchar(20), @apeemp varchar(20), @diremp varchar(25), @sexemp bit, @telemp varchar(8), @codcar varchar(5), @activo bit, @observacion varchar(80), @foto varchar(50) ) AS begin transaction INSERT EMPLEADO(codemp,nomemp,apeemp,diremp,sexemp,telemp,codcar,activo,observacion,foto) VALUES (@codemp,@nomemp,@apeemp,@diremp,@sexemp,@telemp,@codcar,@activo,@observacion,@foto) if @@error=0 commit transaction else rollback transaction Para agregarlo a la BD: Sombree el Procedimiento y pulse F5, o clic en el botón ejecutar. Procedimiento para Desactivar un Empleado: CREATE PROCEDURE DesactivaEmpleado ( @codemp varchar(5), @activo bit ) AS BEGIN TRANSACTION UPDATE EMPLEADO SET codemp=@codemp, activo=@activo WHERE codemp=@codemp IF @@ERROR=0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION Docente: José Luis Ponce Segura Prac03 (3 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 4. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Procedimiento para Eliminar Registros: (Sólo de referencia) CREATE PROCEDURE EliminarEmpleado @codemp varchar(5) AS BEGIN TRANSACTION DELETE FROM EMPLEADO WHERE codemp=@codemp IF @@ERROR=0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION Procedimiento para Modificar Registros : CREATE PROCEDURE ModificarEmpleado ( @codemp varchar(5), @nomemp varchar(20), @apeemp varchar(20), @diremp varchar(25), @sexemp bit, @telemp varchar(8), @codcar varchar(5), @activo bit, @observacion varchar(100), @foto varchar(50) ) AS BEGIN TRANSACTION UPDATE EMPLEADO SET codemp=@codemp, nomemp=@nomemp, apeemp=@apeemp, diremp=@diremp, sexemp=@sexemp, telemp=@telemp, codcar=@codcar, activo=@activo, observacion=@observacion, foto=@foto WHERE codemp=@codemp IF @@ERROR=0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION 4. CODIFICACIÓN DEL FORMULARIO DE ACTUALIZACIÓN DE EMPLEADOS No olvide que para este formulario solo se trabaja con Procedimientos Almacenados para realizar el mantenimiento de los registros de Empleados. AHORA PROCEDEREMOS A ESCRIBIR EL CODIGO CORRESPONDIENTE: Agregar la Biblioteca de Clases SQLClient: Sirve para poder utilizar los objetos SQLconnection, SqlCommand, SqlDataAdapter Docente: José Luis Ponce Segura Prac03 (4 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 5. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Biblioteca de Clase: Option Compare Text Imports System.Data.SqlClient Imports System.Data En la Sección de Declaraciones Generales escriba: Dim dacargo As SqlDataAdapter Dim objDataAdapter As SqlDataAdapter Dim objDataSet As New DataSet Dim objDataRow As DataRow Dim posicion, flag, resultado As Integer Private Sub frmActualizarEmpleado_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Conexion.Open() objDataAdapter = New SqlDataAdapter("SELECT * FROM EMPLEADO WHERE activo=1",Conexion) objDataAdapter.Fill(objDataSet, "EMPLEADO") Conexion.Close() llenarcombos(False) posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1) CargarDatos() lblRutaFoto.Visible = False HabilitarControles(False) HabilitarBotones(True) 'Estableciendo etiquetas a las cajas txtCodEmp.Tag = "Código" : txtNomEmp.Tag = "Nombres" txtApeEmp.Tag = "Apellidos" : txtDirEmp.Tag = "dirección" txtTelEmp.Tag = "Teléfono" : txtObservacion.Tag = "Observacion" End Sub Procedimientos de Usuario Private Sub llenarcombos(ByVal cargo As Boolean) Conexion.Open() desconectarcombos() dacargo = New SqlDataAdapter("SELECT * FROM cargo", ModConexion.Conexion) If cargo = False Then dacargo.Fill(objDataSet, "cargo") Else objDataSet.Tables("cargo").Clear() dacargo.Fill(objDataSet, "cargo") cargo = False End If Conexion.Close() cboCargo.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",objDataSet, "Empleado.codcar")) cboCargo.DataSource = Me.objDataSet.Tables("Cargo") cboCargo.DisplayMember = "descar" cboCargo.ValueMember = "codcar" cboCargo.DropDownStyle = ComboBoxStyle.DropDownList ' si es que se ha agregado un nuevo cargo, lo selecionamos If cargo = False Then cboCargo.SelectedIndex = cboCargo.Items.Count - 1 End Sub Private Sub CargarDatos() Dim valor As Boolean Try objDataRow = objDataSet.Tables("EMPLEADO").Rows(posicion) txtCodEmp.Text = objDataRow("codemp") txtNomEmp.Text = objDataRow("nomemp") txtApeEmp.Text = objDataRow("apeemp") txtDirEmp.Text = objDataRow("diremp") valor = objDataRow("sexemp") Docente: José Luis Ponce Segura Prac03 (5 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 6. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II If valor Then rbtMasculino.Checked = True rbtFemenino.Checked = False Else rbtMasculino.Checked = False rbtFemenino.Checked = True End If txtTelEmp.Text = objDataRow("telemp") cboCargo.SelectedValue = objDataRow("codcar") txtObservacion.Text = objDataRow("observacion").ToString If objDataRow("foto").ToString = Nothing Then PictureBox1.Image = Nothing lblRutaFoto.Text = Nothing Else lblRutaFoto.Text = objDataRow("foto") End If If objDataRow("activo") = True Then lblActivo.Text = "Activo" : lblActivo.ForeColor = Color.Blue End if If objDataRow("activo") = False Then lblActivo.Text = "Inactivo" : lblActivo.ForeColor = Color.Red End if tslRegistro.Text = "Registro: " & posicion + 1 & " de " & _ objDataSet.Tables("EMPLEADO").Rows.Count actualizafoto() Catch exc As Exception MessageBox.Show(exc.Message) End Try End Sub Private Sub HabilitarControles(ByVal est As Boolean) Dim ctrl As Control For Each ctrl In Me.Controls If TypeOf ctrl Is TextBox Then ctrl.Enabled = est Next txtCodEmp.ReadOnly = True cboCargo.Enabled = est grbSexo.Enabled = est End Sub Private Sub HabilitarBotones(ByVal est As Boolean) Dim oitem As Windows.Forms.ToolStripItem For Each oitem In ToolStrip1.Items If TypeOf oitem Is ToolStripButton Then oitem.Enabled = est End If Next tsbGuardar.Enabled = Not est tsbCancelar.Enabled = Not est btnAgregarFoto.Visible = Not est btnNuevoCargo.Visible = Not est End Sub Function verificavacios() As Boolean Dim objetos As Object For Each objetos In Me.Controls If TypeOf objetos Is TextBox Then If objetos.name <> "txtTelEmp" And objetos.name <> "txtObservacion" And objetos.TextLength = 0 Then MsgBox("Debe ingresar: " & objetos.tag) verificavacios = True Exit Function End If End If Docente: José Luis Ponce Segura Prac03 (6 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 7. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Next If cboCargo.SelectedIndex < 0 Then MsgBox("Debe seleccionar un cargo") verificavacios = True End If End Function Private Sub GeneraCodigo() Dim codi As String Dim cmd As New SqlCommand("select max(codemp) from empleado",Conexion) Conexion.Open() codi = cmd.ExecuteScalar Conexion.Close() Me.txtCodEmp.Text = Format(Val(codi) + 1, "00000") End Sub Private Sub desconectarcombos() ‘ IMPORTANTE: ESTE PROC. DEBE SER CREADO EN EL MÓDULO cboCargo.DataBindings.Clear() Public Sub LimpiarTextBox(ByVal ofrm As Form) End Sub For Each oControl As Control In ofrm.Controls Private Sub LimpiarControles() If TypeOf oControl Is TextBox Then LimpiarTextBox(Me) oControl.Text = "" PictureBox1.Image = Nothing End If End Sub Next End Sub Private Sub Desplazar(ByVal op As Integer) Select Case op Case 1 posicion = 0 CargarDatos() Case 2 If posicion = 0 Then MessageBox.Show("Primer Registro", "", 0, MessageBoxIcon.Information) Else posicion -= 1 CargarDatos() End If Case 3 If posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1) Then MessageBox.Show("Último Registro", "", 0, MessageBoxIcon.Information) Else posicion += 1 CargarDatos() End If Case 4 posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1) CargarDatos() End Select End Sub Private Sub actualizafoto() Dim mifoto As Bitmap If objDataRow("foto").ToString = Nothing Then PictureBox1.Image = Nothing Else mifoto = New Bitmap(Me.lblRutaFoto.Text) PictureBox1.Image = CType(mifoto, Image) End If End Sub Docente: José Luis Ponce Segura Prac03 (7 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 8. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Private Sub AgregaCargo(ByVal codi As String, ByVal nombre As String) 'Agregando el nuevo registro a la tabla cargo Dim objcomando As New SqlCommand("INSERT INTO Cargo (codcar,descar) VALUES (@codcar,@descar)",Conexion) 'Parámetros objcomando.Parameters.Add(New SqlParameter("@codcar", SqlDbType.VarChar)) objcomando.Parameters("@codcar").Value = codi objcomando.Parameters.Add(New SqlParameter("@descar", SqlDbType.VarChar)) objcomando.Parameters("@descar").Value = nombre Conexion.Open() objcomando.ExecuteNonQuery() ModConexion.Conexion.Close() llenarcombos(True) End Sub Private Sub Editar() Private Sub Actualizar() flag = 2 'Para actualizar el DataSet HabilitarControles(True) objDataSet.Clear() HabilitarBotones(False) objDataAdapter.Fill(objDataSet, "EMPLEADO") txtNomEmp.Focus() End Sub End Sub Private Sub Nuevo() Private Sub Cancelar() flag = 1 Conexion.Open() lblRutaFoto.Text = Nothing objDataSet.RejectChanges() HabilitarControles(True) Conexion.Close() HabilitarBotones(False) HabilitarControles(False) LimpiarControles() HabilitarBotones(True) GeneraCodigo() Desplazar(4) End Sub End Sub Private Sub ToolStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked Select Case e.ClickedItem.Name ' Actualización Case "tsbnuevo" ' Botón Nuevo Nuevo() Case "tsbguardar" ' Botón Guardar Guardar() Case "tsbeditar" ' Botón Editar Editar() Case "tsbcancelar" ' Botón Cancelar Cancelar() Case "tsbeliminar" ' Botón Desactivar Empleado Dim rpta As MsgBoxResult rpta = MsgBox("Esta seguro que desea Desactivar Al Empleado :" & _ Chr(13) & Chr(10) & txtCodEmp.Text & " - " & txtNomEmp.Text & " " & _ txtApeEmp.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Confirmación") If rpta = vbYes Then DesactivaEmpleado(txtCodEmp.Text, 0) Case "tsbsalir" ' Botón Salir Me.Close() ' Desplazamiento Case "tsbprimero" ' Ir a al Primero Desplazar(1) Case "tsbanterior" ' Ir al Anterior Desplazar(2) Case "tsbsiguiente" ' Ir al Siguiente Desplazar(3) Case "tsbultimo" ' Ir al Último Desplazar(4) End Select End Sub Docente: José Luis Ponce Segura Prac03 (8 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 9. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Private Sub Guardar() If verificavacios() = True Then Exit Sub Dim objComando As New SqlCommand Dim oper As String, valor, activo As Boolean objComando.Connection = ModConexion.Conexion objComando.CommandType = CommandType.StoredProcedure If flag = 1 Then 'Agregar objComando.CommandText = "AgregarEmpleado" oper = " insertados : " Else ' Editar objComando.CommandText = "modificarEmpleado" oper = " modificados : " End If Try 'Agregando Parametros objComando.Parameters.Add(New SqlParameter("@codemp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@nomemp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@apeemp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@diremp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@sexemp", SqlDbType.Bit)) objComando.Parameters.Add(New SqlParameter("@telemp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@codcar", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@activo", SqlDbType.Bit)) objComando.Parameters.Add(New SqlParameter("@observacion", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@foto", SqlDbType.VarChar)) 'asignando valores a parametros If rbtMasculino.Checked = True Then valor = True Else valor = False End If activo = True ' Todos los empleados nuevos son activos, ¿activar un empleado? objComando.Parameters("@codemp").Value = txtCodEmp.Text objComando.Parameters("@nomemp").Value = txtNomEmp.Text objComando.Parameters("@apeemp").Value = txtApeEmp.Text objComando.Parameters("@diremp").Value = txtDirEmp.Text objComando.Parameters("@sexemp").Value = valor objComando.Parameters("@telemp").Value = txtTelEmp.Text objComando.Parameters("@codcar").Value = cboCargo.SelectedValue objComando.Parameters("@activo").Value = activo objComando.Parameters("@observacion").Value = txtObservacion.Text objComando.Parameters("@foto").Value = lblRutaFoto.Text Conexion.Open() resultado = objComando.ExecuteNonQuery Actualizar() Conexion.Close() posicion = (objDataSet.Tables("EMPLEADO").Rows.Count - 1) MessageBox.Show("Registros " & oper & resultado, "", 0, MessageBoxIcon.Information) Catch exc As Exception MessageBox.Show(exc.Message) End Try llenarcombos(False) Desplazar(4) HabilitarControles(False) HabilitarBotones(True) End Sub Docente: José Luis Ponce Segura Prac03 (9 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 10. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Private Sub DesactivaEmpleado(ByVal codi As String, ByVal estado As Boolean) Dim objComando As New SqlCommand objComando.Connection = ModConexion.Conexion objComando.CommandType = CommandType.StoredProcedure objComando.CommandText = "DesactivaEmpleado" Try 'Agregando Parametros objComando.Parameters.Add(New SqlParameter("@codemp", SqlDbType.VarChar)) objComando.Parameters.Add(New SqlParameter("@activo", SqlDbType.Bit)) 'asignando valores a parametros objComando.Parameters("@codemp").Value = codi objComando.Parameters("@activo").Value = estado Conexion.Open() resultado = objComando.ExecuteNonQuery Actualizar() Conexion.Close() MessageBox.Show(resultado & " Empleado Desactivado", "", 0, MessageBoxIcon.Information) Desplazar(1) Catch exc As Exception MessageBox.Show(exc.Message) End Try llenarcombos(False) HabilitarControles(False) HabilitarBotones(True) End Sub Private Sub btnAgregarFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregarFoto.Click Dim mifoto As Bitmap Dim curfilename As String = "" Dim opendlg As OpenFileDialog = New OpenFileDialog opendlg.Filter = "All Bitmapfiles|*.*" Dim filter As String = opendlg.Filter opendlg.Title = "open a bitmap file" If opendlg.ShowDialog() = Windows.Forms.DialogResult.OK Then curfilename = opendlg.FileName lblRutaFoto.Text = curfilename mifoto = New Bitmap(curfilename) PictureBox1.Image = CType(mifoto, Image) Else Exit Sub End If End Sub Private Sub btnNuevoCargo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevoCargo.Click 'Generando código para el nuevo cargo Dim codi As String Dim cmd As New SqlCommand("select max(codcar) from cargo", ModConexion.Conexion) Conexion.Open() codi = cmd.ExecuteScalar codi = Format(Val(codi) + 1, "00000") Conexion.Close() ' Solicitando el nombre del nuevo cargo Dim nombre As String nombre = InputBox("Ingrese Nombre de nuevo cargo:", "Agregando Nuevo Cargo") If nombre.Length < 4 Then MsgBox("Debe ingresar mínimo 4 caracteres", MsgBoxStyle.Critical, "Error") Exit Sub Else Docente: José Luis Ponce Segura Prac03 (10 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net
  • 11. Universidad Nacional Jorge Basadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .NET II Dim rpta As MsgBoxResult rpta = MsgBox("Esta seguro que desea agregar el nuevo cargo :" & _ Chr(13) & Chr(10) & “codigo: " & codi & Chr(13) & Chr(10) & _ "Nombre: " & nombre, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Confirmación") If rpta = vbYes Then AgregaCargo(codi, nombre) Else Exit Sub End If End If End Sub Private Sub tsbBuscarbasico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbBuscarbasico.Click, tsbBuscarAvanzado.Click Select Case sender.name Case "tsbbuscarbasico" Dim strDato As String Dim fila As Integer Dim dv As New DataView strDato = InputBox("Ingrese codigo del Empleado: ", "Buscar") dv.Table = objDataSet.Tables("Empleado") dv.Sort = "codemp" fila = dv.Find(strDato) If fila = -1 Then MessageBox.Show("Codigo del Empleado no Existe", "Cuidado") Exit Sub End If posicion = fila CargarDatos() Case "tsbbuscaravanzado" MessageBox.Show("Proximamente será implementado", "Busqueda Avanzada", MessageBoxButtons.OK, MessageBoxIcon.Information) End Select End Sub TAREA ENCARGADA: ….. / …… / …………. En base al presente formulario, proceda a realizar los formularios correspondientes para Clientes, Artículos y Categoría. Así mismo deberá enlazarlos c/u a la opción de Menú que corresponda. Haga los procedimientos necesarios para poder visualizar a los empleados Inactivos, y poder activar a uno de ellos según sea el caso. Docente: José Luis Ponce Segura Prac03 (11 de 11) e-mail : jlponcesg@hotmail.com Cel. : 952636911 www.redtacna.net