UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA JAVA SERVLET 9: BUSQUEDA

En este TEMA JAVA SERVLET se analiza la busqueda de un registro o renglón determinado en este proceso el usuario del programa quiere que se despliegue un y solo un registro de información proporcionando un dato de busqueda generalmente la clave del registro.

La solucion es sencilla, solo usar otra vez la instruccion select, con el siguiente formato:

SELECT [ *, all, campos] FROM TABLA WHERE clave=claveabuscar;

les recuerdo que deben buscar y estudiar un buen tutorial de sql.

Codigo prog19.html

<HTML>
<FORM ACTION=http://programacionfacil.com:9090/tusitio/servlet/prog19 METHOD=post>
CLAVE A BUSCAR.:<INPUT TYPE=text NAME=CLAVE><BR>
<INPUT TYPE=submit VALUE=BUSCAR>
</FORM></HTML>

corrida prog19.html

image314.jpg

prog19.java

import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class prog19 extends HttpServlet
{
// globales se ocupan varias veces
PrintWriter pagina;
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;
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
pagina =response.getWriter();
response.setContentType("text/html");
pagina.println("<HTML>");
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) {};
int clave = Integer.parseInt(request.getParameter("CLAVE"));
String q="select * from mitabla where clave="+clave;
try { tabla = instruccion.executeQuery(q);
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();};
}

nota: no hay nada nuevo es una combinación de los dos programas anteriores con las mismas notas, solo se usa un input text para pedir la clave, aunque se puede usar cualquier campo para buscar.

Tambien recordar que el resultset despues de la busqueda solo queda cargado con el renglón que el canal se trajo de la base de datos.

Corrida prog19.java

image315.jpg

TAREAS PROGRAMACION JAVA SERVLET:

Construir sistemas de informacion de busqueda a las bases de datos que ya tienen construidas.

Politica de Privacidad