UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA JAVA SERVLET 13: EDICION DE REGISTROS

Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacíón o para corregir algun error de captura original o para agregar alguna columna que no existia por modificación de la tabla o la base de datos.

En general se tiene otro problema de sql UPDATE, sin embargo ahora se tendran que construir varios programas, estos son:

1.- prog23.html: una forma normal de busqueda por clave

2.- prog23.java: el mismo programa de busqueda por clave, pero ahora debera construir una forma.html dinamica( es decir un monton de system.console.writeline), que contendra un form action apuntando o ejecutando al prog24.java, ademas tendra todos los input text necesarios para cargar cada celda del renglon de busqueda.

3.- prog24.java: recoje los datos ya modificados de la forma.html dinamica y realiza directamente un sql update en la base de datos

prog23.html


<HTML>

<FORM ACTION=http://programacionfacil.com:9090/tusitio/servlet/prog23 METHOD=post>

CLAVE A MODIFICAR.:<INPUT TYPE=text NAME=CLAVE><BR>

<INPUT TYPE=submit VALUE=BUSCAR>

</FORM></HTML>

prog23.java


import java.io.*;

import java.util.*;

import java.net.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class prog23 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);

tabla.next();

pagina.println("<FORM ACTION=http://programacionfacil.com:9090/tusitio/servlet/prog24 METHOD=POST>");

pagina.println("CLAVE:<INPUT TYPE=TEXT NAME=CLAVE VALUE="+ tabla.getString(1)+ "><BR>");

pagina.println("NOMBRE:<INPUT TYPE=TEXT NAME=NOMBRE VALUE= "+ tabla.getString(2)+ "><BR>");

pagina.println("EDAD:<INPUT TYPE=TEXT NAME=EDAD VALUE= "+ tabla.getString(3)+ "><BR>");

pagina.println("<INPUT TYPE=SUBMIT VALUE=EDITAR></FORM>");

tabla.close();canal.close();

} catch(SQLException e) {} catch(Exception ex){};

pagina.println("</HTML>");

pagina.close();

};

public void destroy(){super.destroy();};

}

Prog24.java


import java.io.*;

import java.util.*;

import java.net.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class prog24 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) {};

String nombre,q ;

int clave, edad;

try {

tabla = instruccion.executeQuery("select * from mitabla");

} catch(SQLException e) {};

clave = Integer.parseInt(request.getParameter("CLAVE"));

nombre = request.getParameter("NOMBRE");

edad = Integer.parseInt(request.getParameter("EDAD"));

q = "UPDATE mitabla SET "+ "NOMBRE='"+ nombre+ "', EDAD="+ edad+" WHERE clave=" + clave+";";

try{instruccion.executeUpdate(q); }catch(SQLException e) {};

try {canal.close();tabla.close(); } catch(SQLException e) {};

pagina.println(q);

pagina.println("</HTML>");

pagina.close();

};

public void destroy(){super.destroy();};

}

Veamos la corrida completa:

(tabla original)

image456.jpg

prog23.html

image325.jpg

forma dinamica que construye el prog23.java

image457.jpg

prog24.java respondiendo y nueva tabla

image459.jpg

no fue raton fue batman!!

TAREAS PROGRAMACION JAVA SERVLETS :

1.- construir programas de edición para sus tablas y bases de datos

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad