You are on page 1of 20

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

PROCEDIMIENTOS ALMACENADOS PARA MANTENIMIENTO DE DATOS

Procedimientos almacenados Poco a poco las empresas y muchas personas en general empiezan a mirar ms hacia el Software Libre y se dan cuenta que existen excelentes alternativas a distintos programas que para ellos son de uso frecuente en otro Sistema Operativo, como pueden ser OpenOffice, PostgreS%L, P&P y ozilla !irefox, "clipse, #et$eans, yS%L por citar algunos, en esta nota hablar' un poco del
P"gina 1

Ing. Martn Salcedo ui!ones

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


ane(ador de $ases de datos yS%L, que en los )ltimos a*os ha tenido grandes

avances en su desarrollo y actualmente es uno de los +$ S ms usados en sitios web y que en sus )ltimas versiones ha incorporado nuevas caracter,sticas como la implementaci-n de las tablas, disparadores, funciones y procedimientos almacenados. Los procedimientos almacenados son de gran utilidad para realizar tareas frecuentes en una base de datos, es sorprendente la cantidad de tiempo que se puede llegar a ahorrar al hacer uso de este mecanismo. /ambi0n haremos uso de vistas dentro de la estructura de un procedimiento almacenado.

Interface PreparedStatement "ste componente permitir hacer uso de los procedimientos almacenados. 1na vez instanciado el ob(eto usaremos el m'todo preparedStatement para invocar el uso de un procedimiento almacenado. /ambi'n se har uso de los m'todos setString23, set4nt23, set+ate23, etc para indicar la posici-n del parmetro y el valor de dicho parmetro. !inalmente usaremos el m'todo execute1pdate23 para e(ecutar el procedimiento almacenado. 5 continuaci-n, procedemos a dise*ar el mantenimiento de datos de la tabla de Plan6"studios usando procedimientos almacenados7 8. 9reamos la tabla Plan6"studios dentro de la base de datos universidad7

Ing. Martn Salcedo ui!ones

P"gina 2

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

5l dar clic en el bot-n de comando 5ceptar, debe quedar la ficha de Servicios as,7

:. Procedemos a crear un procedimiento almacenado sp6insertaPlan que permitir la grabaci-n de datos en la tala de plan6estudios.

Ing. Martn Salcedo ui!ones

P"gina 3

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

1na vez e(ecutado la creaci-n del procedimiento almacenado se observar en la pesta*a de Prestaciones que dicho procedimiento se ha creado.

;. Luego, procedemos a crear el procedimiento almacenado sp6modificaPlan que permitir modificar o actualizar los datos de la tabla plan6estudios.

<. Posteriormente

procedemos

crear

el

procedimiento

almacenado

sp6eliminaPlan que permitir hacer una eliminaci-n f,sica de registro de datos.

Ing. Martn Salcedo ui!ones

P"gina 4

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

1na vez e(ecutado la creaci-n del procedimiento almacenado se observar en la pesta*a de Prestaciones los procedimientos creados.

=. "n el formulario frmPrincipal que contiene el dise*o del men), ubicamos la opci-n Plan de "studios dentro de antenimientos.

6. 9reamos el formulario frm antPlan, luego

seleccionas la opci-n Plan de

"studios del men) y dando clic en el bot-n derecho del mouse elegimos Eventos/Action/ActionPerformed.

Ing. Martn Salcedo ui!ones

P"gina 5

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

>. ?amos a proceder a crear una vista para mostrar los datos del plan de estudios. "stando en la ficha de Prestaciones y en la conexi-n de universidad seleccionamos la carpeta ?istas y damos clic bot-n derecho del mouse.

5 continuaci-n se muestra la ventana para crear la vista. 1saremos las tablas plan6estudios, escuela y curso para el dise*o de la vista, la cual la denominaremos v6plandeestudios.

Ing. Martn Salcedo ui!ones

P"gina 6

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

5l dar clic en el bot-n de comando 5ceptar, la ventana de prestaciones en la carpeta vistas lo volvemos a seleccionar y dando clic bot-n derecho elegimos la opci-n 5ctualizar y se mostrar lo siguiente7

@. +ise*amos el formulario frm antPlan.

Ing. Martn Salcedo ui!ones

P"gina 7

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

txt#roPlan btn$uscar btn?er btn9errar cbo"sc cbo9ur txt9iclo txt&oras/ txt&orasP txt&orasL txt#ro9re btn#uevo btn"liminar
Ing. Martn Salcedo ui!ones P"gina 8

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


btn odificar btnArabar btn9ancelar tablaPlan

B. "n la clase 5cceso colocar el m'todo obtener?istaPlanes23

Para la grabaci-n y modificaci-n de datos se necesitar obtener el c-digo de la escuela dado el nombre de la escuela seleccionada y el c-digo del nombre del curso seleccionado. "ntonces debemos hacer uso de dos m'todos ms.

/ambi'n debemos obtener los nombres de las escuelas profesionales y los nombres de los cursos para las listas desplegables cbo"sc y cbo9ur.

Ing. Martn Salcedo ui!ones

P"gina 9

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

8C. ?eamos a continuaci-n la programaci-n que tendr el formulario frm antPlan.

4mportamos los paquetes (ava.sql 2para acceder a base de datos3, (avax.swing 2para el uso de los controles visuales3, (avax.swing.table para el mane(o de las clases del paquete table y el paquete universidad que contiene a la clase 5cceso con lo cual podremos hacer uso de todos los m'todos que tenga.

Ing. Martn Salcedo ui!ones

P"gina 10

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


"stablecemos los atributos o variables a usar en la conexi-n y acceso a la base de datos, como tambi'n los modelos de datos para los ob(etos tablaPlan, cbo"sc y cbo9ur.

Ing. Martn Salcedo ui!ones

P"gina 11

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


Se prepara los t,tulos del ob(eto tablaPlan en el vector t,tulos, se vincula los modelos de datos a los ob(etos tablaPlan, cbo"sc y cbo9ur. Luego se llena los nombres de las escuelas profesionales en la lista desplegable cbo"sc y de igual modo se hace con la lista desplegable cbo9ur. /ambi'n se llena de datos en el ob(eto tablaPlan.

Los m'todos activabotones23 permitir gestionar el uso de los botones de comando y el m'todo limpiarOb(etos23 es para limpiar los cuadros de textos.

Ing. Martn Salcedo ui!ones

P"gina 12

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

"n la b)squeda se har por el n)mero de plan, el nombre de la escuela profesional y el nombre del curso. Se define una variable boleana encuentra para mane(ar la situaci-n de 'xito o fracaso de la b)squeda. "n la sentencia while utilizamos el m'todo next ! que pertenece al ob(eto rs, es decir, es un m'todo de la interfaz DesulSet. "l m'todo next devuelve verdadero si encuentra la primera fila de informaci-n, las siguientes veces se desplaza en
Ing. Martn Salcedo ui!ones P"gina 13

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


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 n)mero de plan, la escuela profesional y el curso buscado, haciendo que los cuadros de textos se muestren los dems datos, es entonces en que la variable encuentra reci'n se hace verdadero.

"l bot-n de comando btn?er 2?er Lista de Planes de "studios3, consiste en aumentar el tama*o del formulario para visualizar el ob(eto E/able. Posteriormente se establece la conexi-n con la base de datos y en la variable rs se almacena los datos provenientes de la vista v6plandeestudios. Se define un vector denominado datos de tama*o @ elementos del tipo String que servir colocar los datos de una fila para luego agregarlo al ob(eto dtm que est
Ing. Martn Salcedo ui!ones P"gina 14

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


vinculado al ob(eto E/able llamado tablaPlan. Pero antes de agregarlo debemos asegurarnos que no exista fila alguna de datos en el modelo dtm y por ende en la tablaPlan. "l bucle de la sentencia while permite colocar en cada elemento del arreglo los datos extraidos de una fila que almacena el ob(eto 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. 9on el m'todo addDow logramos crear una fila con los datos del vector datos en el ob(eto dtm y como est vinculado a la tablaPlan entonces se podr observar los registros agregados.

Ing. Martn Salcedo ui!ones

P"gina 15

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

"n el bot-n de comando "tn#ra"ar se inicia visualizando un mensa(e de confirmaci-n para proceder a grabar, esto se logra usando el m'todo s$o%ConfirmDialo& de la clase EOptionPane. Si la respuesta es S, entonces la sentencia if su condici-n l-gica se har verdadera y por lo tanto establecemos conexi-n con la base de datos universidad, pasamos los datos ingresados a variables como cod, esc, cur, idesc, idcur, cic, ht, hp, hl y nc. "n la variable pstmt establecemos como procedimiento almacenado a sp_insertaPlan, colocando @ signos de interrogaci-n que expresa el mane(o de @ parmetros que tiene dicho procedimiento. 9on los m'todos setString23 y set4nt23 del ob(eto instanciado pstmt indicamos la posici-n del parmetro y el valor del parmetro, as, por e(emplo7 8 indica ser el primer parmetro de entrada del procedimiento almacenado sp'insertaPlan y cod contiene el dato del n)mero de plan que se asignar al primer parmetro. 1na vez indicado los valores a cada uno de los parmetros se hace uso del m'todo execute1pdate23 que permitir e(ecutar el procedimiento almacenado. Posteriormente se procede a cerrar la conexi-n con el m'todo close del ob(eto connection conn.

Ing. Martn Salcedo ui!ones

P"gina 16

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

Para el bot-n de comando "tnN(evo, limpiamos los cuadros de textos con el m'todo limpiarOb(etos23. Se inhabilita el cuadro de texto txtNroPlan y se env,a el cursor al cuadro de texto txtNroPlan. Se inhabilita los botones de comando a excepci-n de grabar.

Ing. Martn Salcedo ui!ones

P"gina 17

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


"n el bot-n de comando "tnEliminar, tambi'n se procede a trav's de un mensa(e confirmar si procede la eliminaci-n de los datos del Plan de "studio. Si la respuesta es afirmativa se procede a conectarse a la base de datos y en la variable de memoria cod se almacenada el n)mero de plan ingresado, en la variable esc el nombre de la escuela profesional y en la variable cur el nombre del curso. 9on 'stas variables buscamos el c-digo de la escuela profesional y el c-digo del curso. "n la variable pstmt establecemos como procedimiento almacenado a sp_eliminaPlan, colocando tres signos de interrogaci-n que expresa el mane(o de tres parmetros, luego se usa el m'todo setString23 para indicar el valor de cada parmetro y posteriormente se e(ecuta el procedimiento almacenado.

Ing. Martn Salcedo ui!ones

P"gina 18

Universidad Catlica Los ngeles de Chimbote Programacin Visual II

"n el bot-n de comando "tnModificar, al igual que de grabar o eliminar se procede a confirmar a trav's de un mensa(e si se procede a la modificaci-n de datos. 1na vez salvados los datos ingresados en los cuadros de textos en variables de memoria se procede a utilizar el procedimiento almacenado sp_modificaPlan. Pasamos los valores para cada uno de los parmetros. Se procede a e(ecutar el comando con el m'todo exec(te)pdate y se cierra la conexi-n con el m'todo close.

"n el bot-n de comando 9ancelar, luego de dar respuesta afirmativa se procede a limpiar los cuadros de textos, habilita el cuadro de texto txt#roPlan para su uso y se vuelve a su estado inicial la habilitaci-n de los botones de comando.

Ing. Martn Salcedo ui!ones

P"gina 19

Universidad Catlica Los ngeles de Chimbote Programacin Visual II


"l bot-n de comando "tnCerrar, con el m'todo dispose se cierra la ventana o formulario.

88. Procedemos a e(ecutar el formulario desde el men).

Ing. Martn Salcedo ui!ones

P"gina 20

You might also like