UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA JAVA SERVLET 7: 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 asp.net 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 (editar un renglon, agregar un renglon, modificar un renglon, etc)

7.- Cerrar la conección

prog17.html (opcional)

<HTML>
<FORM ACTION=http://programacionfacil.com:9090/tuisitio/servlet/prog17 METHOD=post>
<INPUT TYPE=submit VALUE=consultar>
</FORM></HTML>

prog17.java

import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class prog17 extends HttpServlet
{
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter pagina;
pagina =response.getWriter();
response.setContentType("text/html");
pagina.println("<HTML>");
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String sitiobase = "c:/progfacil/lauro/mibase.mdb";
String strcon= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sitiobase;
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
canal=DriverManager.getConnection(strcon);
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
try { tabla = instruccion.executeQuery("select * from mitabla");
pagina.println("<TABLE Border=10 CellPadding=5><TR>");
pagina.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>");
while(tabla.next()) {
pagina.println("<TR>");
pagina.println("<TD>"+tabla.getString(1)+"</TD>");
pagina.println("<TD>"+tabla.getString(2)+"</TD>");
pagina.println("<TD>"+tabla.getString(3)+"</TD>");
pagina.println("</TR>"); }; // fin while
pagina.println("</TABLE></CENTER></DIV></HTML>");
tabla.close(); } //fin try no usar ; al final de dos o mas catchs
catch(SQLException e) {};
try {canal.close();} catch(SQLException e) {};
pagina.println("</HTML>");
pagina.close();
};
public void destroy(){super.destroy();};
}

corrida prog17.java

image451.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, si se les hace muy grande la string del provedor, pueden cargarla primero en una variable string y carguen la string en el constructor de la conección, pero esto es opcional.

5.- Tomar nota como se hace una referencia a la base de datos, esto es en c:/progfacil/tusitio/ase.mdb ( ojo con las diagonales)

6.- Se crea el enlace y se carga el resultset con la instrucción sql y la coneccion, aqui es necesario entender que existen varias maneras de hacer esto:

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

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

9.- Para visitar o procesar todos los renglones de la tabla del dataset se usa un ciclo while.

10.- Para procesar un dato, celda o columna de un renglon cualesquiera se usa el siguiente formato:

TAREAS PROGRAMACION JAVA SERVLET

1.- construir y desplegar una primera base de datos que contenga la primera tabla que diseñarón en el TEMA JAVA SERVLET 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