- Programar un formulario que permita agregar y buscar elementos de la tabla Alumnos(codalu, nomalu, apealu, ciclo, turno, carrera)
Para este caso vamos a utilizar la base de datos Universidad y la tabla Alumnos que creamos en la anterior publicación. Pueden revisar la publicación anterior en el siguiente enlace:
Solución:
1. Abrimos el Visual Studio 2010 (Visual Basic .Net) y realizamos los siguientes pasos:
- Archivo, nuevo, proyecto…., Visual Basic
- Seleccionar Aplicación de Windows Forms
- Colocar de nombre al proyecto ConsultaInsertarAlumnos, desactivar la opción Crear directorio para la solución, aceptar.
- Nos dirigimos a la ventana de propiedades y a cada objeto le asignamos sus propiedades según la siguiente tabla:
Objeto | Propiedad | Valor |
Form
|
Text
Name |
Agregar y Buscar Alumnos
frmBusquedaInsertar |
Label1
|
Text
|
ALUMNOS
|
Label2
|
Text
|
CODIGO
|
Label3
|
Text
|
APELLIDO:
|
Label4
|
Text
|
CICLO:
|
Label5
|
Text
|
TURNO:
|
Label6
|
Text
|
CARRERA:
|
TextBox1
|
Name
|
txtCodigo
|
TextBox2
|
Name
|
txtNombre
|
TextBox3
|
Name
|
txtApellido
|
ComboBox1
|
Name
|
cboCiclo
|
RadioButton1
|
Name
Text
|
rbnManana
Mañana
|
RadioButton2
|
Name
Text
|
rbnNoche
Noche
|
ComboBox2
|
Name
|
cboCarrera
|
Button1
|
Text
Name |
Buscar
btnBuscar |
Button2
|
Text
Name |
Agregar
btnAgregar |
Button3
|
Text
Name |
Limpiar
btnLimpiar |
Procedimientos asociados a eventos de los objetos
Objeto | Evento | Nombre del método |
Form
|
Load
|
frmBusquedaInsertar_Load
|
btnBuscar
|
Click
|
buscar
|
btnAgregar
|
Click
|
agregar
|
btnLimpiar
|
Click
|
limpiar
|
Definidos por el usuario
|
---
|
cargarDatos
limpiarControles
|
Para crear el procedimiento o métodos ya sabemos que tenemos que dirigirnos a la ventana de propiedades y hacer un en el icono del truenito para visualizar todos los eventos asociados al objeto (control), y podemos poner un nombre específico al método asociado al evento que usaremos.
Imports System.Data.SqlClient
Public Class frmBusquedaInsertar
Dim con As SqlConnection
Dim drd As SqlDataReader
Private Sub frmBusquedaInsertar_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
con = New SqlConnection("integrated
security=true;server=COMP-PCW01;database=Universidad")
End Sub
Private Sub buscar(sender As System.Object, e As System.EventArgs) Handles btnBuscar.Click
Dim codigo As Integer
codigo = Val(txtCodigo.Text)
If Not IsNumeric(codigo) Then
MsgBox("Ingrese un Código númerico para la búsqueda", MsgBoxStyle.Information)
txtCodigo.Focus()
Return
End If
Try
con.Open()
Dim cmd As SqlCommand = New SqlCommand("Select
[codalu],[nomalu],[apealu],[ciclo],[turno],[carrera] From Alumnos where
codalu='" +
Str(codigo) + "'", con)
drd = cmd.ExecuteReader()
If Not drd.HasRows Then
MsgBox("No existe
Alumno con el Código " + Str(codigo), MsgBoxStyle.Information)
limpiarControles()
txtCodigo.Focus()
con.Close()
Return
End If
cargarDatos()
drd.Close()
Catch ex As SqlException
Dim er As SqlError
For Each er In ex.Errors
MsgBox(er.Message)
Next
End Try
con.Close()
End Sub
Private Sub cargarDatos()
Dim turno As String
drd.Read()
txtNombre.Text = drd(1).ToString
txtApellido.Text = drd(2).ToString
cboCiclo.Text = drd(3).ToString
turno = drd(4).ToString
If turno = "D" Then
rbnManana.Checked = True
rbnNoche.Checked = False
Else
rbnManana.Checked = False
rbnNoche.Checked = True
End If
cboCarrera.Text = drd(5).ToString
End Sub
Private Sub limpiar(sender As System.Object, e As System.EventArgs) Handles btnLimpiar.Click
limpiarControles()
End Sub
Private Sub limpiarControles()
txtCodigo.Clear()
txtNombre.Clear()
txtApellido.Clear()
cboCiclo.Text = ""
cboCarrera.Text = ""
txtCodigo.Focus()
End Sub
Private Sub agregar(sender As System.Object, e As System.EventArgs) Handles btnAgregar.Click
Dim codigo As Integer
codigo = Val(txtCodigo.Text)
If Not IsNumeric(codigo) Then
MsgBox("Ingrese un Código númerico para Agregarlo", MsgBoxStyle.Information)
txtCodigo.Focus()
Return
End If
If txtCodigo.Text = "" Or txtNombre.Text = "" Or txtApellido.Text = "" Or cboCiclo.Text = "" Or cboCarrera.Text = "" Or (rbnManana.Checked = False And rbnNoche.Checked = False) Then
MsgBox("Debe de llenar todos los campos para agregar un
Nuevo Alumno", MsgBoxStyle.Information)
Return
End If
Try
con.Open()
Dim cmd As SqlCommand = New SqlCommand("Select [codalu] From Alumnos
where codalu='" + Str(codigo) + "'", con)
Dim valor As String = cmd.ExecuteScalar()
If valor <> "" Then
MsgBox("Código de Alumno " + Str(codigo) + "
ya existe", MsgBoxStyle.Information)
txtCodigo.Focus()
con.Close()
Return
End If
cmd = New SqlCommand("Insert into Alumnos (codalu,
nomalu, apealu, ciclo, turno, carrera)
values(@codalu,@nomalu,@apealu,@ciclo,@turno,@carrera)", con)
cmd.Parameters.AddWithValue("@codalu",
codigo)
cmd.Parameters.AddWithValue("@nomalu",
Trim(txtNombre.Text))
cmd.Parameters.AddWithValue("@apealu",
Trim(txtApellido.Text))
cmd.Parameters.AddWithValue("@ciclo", Integer.Parse(cboCiclo.Text))
Dim turno As String
If rbnManana.Checked = True Then
turno = "D"
Else
turno = "N"
End If
cmd.Parameters.AddWithValue("@turno", turno)
cmd.Parameters.AddWithValue("@carrera",
cboCarrera.Text)
cmd.ExecuteNonQuery()
MsgBox("Alumno Registrado con código " + Str(codigo), MsgBoxStyle.Information)
Catch ex As SqlException
Dim er As SqlError
For Each er In ex.Errors
MsgBox(er.Message)
Next
End Try
con.Close()
End Sub
End Class
4. Aquí mostramos la aplicación en ejecución, para realizar una búsqueda debemos ingresar un código (1..10) y dar clic en Buscar. Para agregar debemos de rellenar todos los campos y presionar Agregar.
Cualquier consulta no duden en hacerlo y si les gusto entonces recomiéndenlo.Ojo: Nos e olviden de hacer los cambios en la cadena de conexión con los datos de su computador.
Excelente amigo! :D Me sirvio full, pero si por ejmplo quisiera hacer lo mismo pero utilizando java?
ResponderEliminar