Está en la página 1de 13

Leamos una Introducción a los:

Procedimientos Almacenados, (stored procedure en inglés) es un programa (o


procedimiento) el cual es almacenado físicamente en una base de datos. Su
implementación varía de un manejador de bases de datos a otro. La ventaja de
un procedimiento almacenado es que al ser ejecutado, en respuesta a una
petición de usuario, es ejecutado directamente en el motor de bases de datos, el
cual usualmente corre en un servidor separado. Como tal, posee acceso directo a
los datos que necesita manipular y sólo necesita enviar sus resultados de regreso
al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes
cantidades de datos salientes y entrantes.

Bueno siguiendo con las sesiones. Esta vez haremos un mantenimiento de Datos
de un formulario con procedimientos almacenados.

Trabajare con una base de datos llamada “jugador”. La cree en el phpMyAdmin.

Conectando con el NetBeans, entonces se visualizara de esta manera:

Como trabajaremos con


Procedimientos almacenados,
entonces haremos dichos
procedimientos. Realizamos
los siguientes pasos.

Randy Briones http://www.ranjosfox.blogspot.com


Conexión de la base de datos/Procedure/Executar Comando

Se abrirá la siguiente pestaña comando SQL.

Procedimiento Almacenado modificar: sp_modificajugador

Luego:

Procedimiento Almacenado modificar: sp_eliminajugador

Y por ultimo:

Procedimiento Almacenado modificar: grabajugador

Randy Briones http://www.ranjosfox.blogspot.com


Ahora visualizaremos en la parte de NetBeans - Procedures: queda así:

Entonces en el formulario menú agregamos “jugador” y queda de la siguiente


manera:

Ahora Seleccionado jugador y dando clic botón derecho del mouse elegimos
Events/Action/ActionPerformed.

Luego, escribimos el siguiente código:

Randy Briones http://www.ranjosfox.blogspot.com


Para así podes llamar a este formulario: frmMantJugador

txtcodju btnbuscar btnverjug btncerrar


g
txtape

txtnom txtnaci

txtfech cboposi
btngrabar
btnelimina btncancelar
btnnuevo r

btnmodificar
tablajugador

En la clase Main de frmMantJugador, va el siguiente código.

Paquete campeonatouefa
Como ya sabemos, java.sql para trabajar
Con la BD y javax.swing para poder utilizar la clase

JoptionPane para la visualización de un mensaje a través de su método ShowMessageDialog.

Establecer conexión

Operación de consulta

Almacenar consultas

Randy Briones http://www.ranjosfox.blogspot.com


Métodos

Método
jugador

A continuación codificamos en el formulario:

Importamos los siguientes paquetes:


java.sql: para acceder a base de datos
javax.swing: para el uso de los controles visuales
javax.swing.table: para el manejo de las clases del paquete table y el paquete
campeonatouefa que contiene a la clase Main con lo cual podremos hacer uso de
todos los métodos que tenga

Randy Briones http://www.ranjosfox.blogspot.com


A continuación realizamos la construcción de la clase frmMantJugador,
estableciendo como variables o atributos conn, st y rs. Como se está utilizando
un objeto JTable se define la variable dtm del tipo DefaulTableModel.

En el método constructor hacemos uso del método activaBotones (esta parte la


veremos más adelante), se establece un vector o arreglo del tipo String donde se
coloca los títulos que serán de cada una de las columnas del objeto JTable. A
partir del método setColumnIdentifiers indicamos los datos del vector títulos al
objeto dtm y con el método setModel vinculamos el objeto dtm al objeto JTable
denominado tablajugador. Los métodos setSize y setLocation es para
establecer el tamaño y la localización del formulario en la pantalla del computador.

Randy Briones http://www.ranjosfox.blogspot.com


El método activaBotones es para habilitar o inhabilitar el uso de los botones de
comando, esto dependerá en qué circunstancias que nos encontremos en la
ejecución de la aplicación de mantenimiento de datos de marcas. Con el método
limpiarDatos se limpia los cuadros de textos.

Botón Buscar:

Randy Briones http://www.ranjosfox.blogspot.com


En el botón de comando btnbuscar si está habilitado después de dar clic en dicho
botón, se procederá a la conexión con la base de datos, luego en la variable rs se
almacenará los datos provenientes de la tabla de jugador. En la variable b se
coloca el valor ingresado en el cuadro de texto txtcodjug. Se define una variable
booleana encuentra para manejar la situación de éxito o fracaso de la búsqueda.
En la sentencia while utilizamos el método next () que pertenece al objeto rs, es
decir, es un método de la interfaz ResultSet. El método next devuelve verdadero
si encuentra la primera fila de información, las siguientes veces se desplaza en
cada
registro almacenado en el rs. La sentencia “if” que se encuentra dentro del while,
su condición lógica se hará verdadero cuando encuentre el código de jugador
buscado, haciendo que los cuadros de textos se muestren los demás datos, es
entonces que la variable encuentra recién se hace verdadero.

VER LISTA DE JUGADORES:

El botón de comando btnverjug (Ver Lista de jugadores), consiste en aumentar el


tamaño del formulario para visualizar el objeto JTable.

Posteriormente se establece la conexión con la base de datos y en la variable rs


se almacena los datos provenientes de la tabla de jugador. Se define un vector
denominado datos de tamaño 6 elementos del tipo String que servirá colocar los
datos de una fila para luego agregarlo al objeto dtm que está vinculado al objeto
JTable llamado tablajugador.

Pero antes de agregarlo debemos asegurarnos que no exista fila alguna de datos
en el modelo dtm y por ende en la tablajugador. El bucle de la sentencia while
permite colocar en cada elemento del arreglo los datos extraídos de una fila que
almacena el objeto rs, esto es posible ya que el método getString, indicando la
posición de la columna, podemos obtener el dato de la fila actual.

Randy Briones http://www.ranjosfox.blogspot.com


Con el método addRow logramos crear una fila con los datos del vector datos en
el objeto dtm y como está vinculado a la tablajugador entonces se podrá observar
los registros agregados.

Botón Ver lista de Jugadores:

Botón Nuevo:

Randy Briones http://www.ranjosfox.blogspot.com


Botón Eliminar:

En el botón de comando btneliminar, también se procede a través de un mensaje


confirmar si procede la eliminación de los datos del jugador. Si la respuesta es
afirmativa se procede a conectarse a la base de datos y en la variable de memoria
cod se almacenada el código del jugador ingresado a través del cuadro de texto
txtcodjug. En la variable pstmt establecemos como procedimiento almacenado a
sp_eliminajugador, colocando un signo de interrogación que expresa el manejo
de un sólo parámetro, luego se usa el método setInt() para indicar el valor del
parámetro y posteriormente se cierra la conexión.

Botón Cancelar:

Randy Briones http://www.ranjosfox.blogspot.com


Botón Modificar:

En el botón de comando btnmodificar, al igual que de grabar o eliminar se


procede a confirmar a través de un mensaje si se procede a la modificación de
datos. Una vez salvados los datos ingresados en los cuadros de textos en
variables de memoria se procede a utilizar el procedimiento almacenado
sp_modificajugador. Usamos el comando UPDATE para actualizar los datos. Se
procede a ejecutar el comando con el método executeUpdate y se cierra la
conexión con el método close.

Randy Briones http://www.ranjosfox.blogspot.com


Botón Grabar:

Establecemos conexión con la base de datos campeonatouefa, pasamos los datos


ingresados a variables como ape, nom, fecha, nac y posi. En la variable pstmt
establecemos como procedimiento almacenado a grabajugador, colocando 4
signos de interrogación que expresa el manejo de 4 parámetros que tiene dicho
procedimiento. Con los métodos setString() del objeto instanciado pstmt
indicamos la posición del parámetro y el valor del parámetro. Una vez indicado los
valores a cada uno de los parámetros se hace uso del método executeUpdate()
que permitirá ejecutar el procedimiento almacenado.

Randy Briones http://www.ranjosfox.blogspot.com


Posteriormente se procede a cerrar la conexión con el método close del objeto
connection conn.

Randy Briones http://www.ranjosfox.blogspot.com

También podría gustarte