UNIDAD 8: JAVA JSP INTRODUCION A LAS BASES DE DATOS

TEMA 7: JAVA JSP MYSQL CONSULTA O DESPLIEGUE O SELECCION

Existen una serie de operaciones y procesos que son muy comunes contra una tabla en una base de datos en disco, la mas común es desplegar todos los renglones de la tabla que estan almacenados en disco, a este proceso le llamaremos SELECCION, consulta o despliegue.

Como se indico anteriormente la comunicación con la base de datos se tendran que dar usando el lenguaje especializado de bases de datos llamado SQL(structured query language), la instrucción sql que se usa para resolver este problema tiene el siguiente formato:

SELECT [listacampos, * o ALL] FROM TABLA;

El procedimiento que se intenta seguir cuando se construya un programa jsp que tenga que manipular una tabla en disco debera seguir los siguientes pasos:

1.- Crear una conección o enlace a la base de datos.

2.- Abrir la conección a la base de datos.

3.- Crear el enlace y cargarlo con la instruccion sql

4.- Crear el RESULTSET y cargarlo

5.- Cargar un objeto table de html con el RESULTSET

6.- Procesar el table de html

7.- Cerrar rsultset, statement, driver o conección

prog41 jsp

<%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*" %>
<%
// declarando y creando objetos globales
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String strcon = "jdbc:mysql://localhost/mibase?user=lauro&password=laurosoto";
if(request.getParameter("OK") != null)
{
// abriendo canal o enlace en su propio try-catch
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
canal=DriverManager.getConnection(strcon);
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
//leyendo tabla en disco y pasandola al resultset
try { tabla = instruccion.executeQuery("select * from mitabla");
// mandando resultset a una tabla html
out.println("<TABLE Border=10 CellPadding=5><TR>");
out.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>");
// ciclo de lectura del resultset
while(tabla.next()) {
out.println("<TR>");
out.println("<TD>"+tabla.getString(1)+"</TD>");
out.println("<TD>"+tabla.getString(2)+"</TD>");
out.println("<TD>"+tabla.getString(3)+"</TD>");
out.println("<TD>"+tabla.getString(4)+"</TD>");
out.println("</TR>"); }; // fin while
out.println("</TABLE></CENTER></DIV></HTML>");
// cerrando resultset
tabla.close(); instruccion.close();canal.close();} //fin try no usar ; al final de dos o mas catchs
catch(SQLException e) {};
};
// construyendo forma dinamica
out.println("<FORM ACTION=prog41.jsp METHOD=post>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=CONSULTA><BR>");
out.println("</FORM>");
%>

Corrida:

image79.jpg

notas:

1.- revisar con cuidado el programa, proque como todo buen programa lleva incluida mucha documentación o explicación.

2.- Se sigue el procedimiento generico para procesar tablas

3.- Observar y siempre incluir los import's indicados.

4.- Se empieza creando las variables globales a ocupar y abriendo la conección a la base de datos,

5.- Se crea el enlace y se carga el resultset(o tabla en memoria) con la instrucción sql y la coneccion, aqui es necesario entender que existen varias maneras de hacer este proceso.

6.- Luego se crea el resultset(tabla) y se cargo con toda la base de datos en disco

7.- Posteriormente se carga el TABLE DE HTML con el resultset.

8.- Para visitar o procesar todos los renglones de la tabla del dataset se usa un ciclo while, y el metodo RESULTSET.NEXT() y por el nombre se ve que existen otros metodos utiles para navegar por todos los renglones de resultset, tales como last(), prior() etc.

9.- Para procesar un dato, celda o columna de un renglon cualesquiera se usa el siguiente metodo RESULTSET.GETSTRING(numerocolumna o nombrecolumna).

10.- ES MUY IMPORTANTE ESTUDIAR TODOS LOS METODOS DEL RESULTSET PORQUE LES FACILITARA MUCHOS PORBLEMAS DE MANIPULACION DE TABLAS, CONSULTAR LA DOCUMENTACION DE SDK DE JAVA.

11.- observar tambien que los objetos resultset, statement y drivermanager(conección), deben cerrarse al final del programa, y se cierran en el mismo orden como fueron abiertos.

12- mas claro aún, NO OLVIDAR USAR LOS TRES CLOSE() que puse en el programa ejemplo.

TAREA JAVA JSP MYSQL

1.- construir y desplegar una primera base de datos que contenga la primera tabla que diseñarón en el tema de tablas.

2.- Construir una segunda base de datos que contenga cuando menos tres de las tablas ya diseñadas y desplegar cualquiera de ellas usando una sola forma html, donde el usuario selecciona cual quiere desplegar.

Politica de Privacidad