Professional Documents
Culture Documents
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
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
P"gina 2
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.
P"gina 3
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
P"gina 4
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.
"studios del men) y dando clic en el bot-n derecho del mouse elegimos Eventos/Action/ActionPerformed.
P"gina 5
>. ?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.
P"gina 6
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
P"gina 7
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
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.
P"gina 9
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.
P"gina 10
P"gina 11
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.
P"gina 12
"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
"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
P"gina 15
"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.
P"gina 16
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.
P"gina 17
P"gina 18
"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.
P"gina 19
P"gina 20