UNIDAD 8: JAVA JSP INTRODUCION A LAS BASES DE DATOS
TEMA 13: EDICION DE REGISTROS SQL UPDATE
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 dos metodos uno de busqueda normal y otro de actualizacion estos metodos son:
1.- BUSQUEDA: programa normal de busqueda por clave, pero ahora debera construir una forma.html dinamica, que contendra un form action apuntando o ejecutandose a si mismo es decir prog47.jsp, ademas tendra todos los input text necesarios para cargar cada celda del renglon de busqueda.
2.- EDICION: recoje los datos ya modificados de la forma.html dinamica y realiza directamente un sql update en la base de datos.
prog47.jsp
<%@ page import="java.io.*, java.util.*, java.net.*, java.sql.*" %>
<%! int clave=0; %>
<%
// codigo del evento BUSQUEDA y recordar construir una nueva forma dinamica
if(request.getParameter("BUSCAR") != null)
{
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String strcon = "jdbc:mysql://localhost/mibase?user=lauro&password=laurosoto";
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) {};
clave = Integer.parseInt(request.getParameter("CLAVEB"));
String q="select * from mitabla where clave="+clave;
try { tabla = instruccion.executeQuery(q);
tabla.next();
out.println("<FORM ACTION=prog47.jsp METHOD=POST>");
out.println("NOMBRE:<INPUT TYPE=TEXT NAME=NOMBRE VALUE= "+ tabla.getString(2)+ "><BR>");
out.println("EDAD:<INPUT TYPE=TEXT NAME=EDAD VALUE= "+ tabla.getString(3)+ "><BR>");
out.println("ESTATURA:<INPUT TYPE=TEXT NAME=ESTATURA VALUE= "+ tabla.getString(4)+ "><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=EDITAR VALUE=EDITAR><BR>");
tabla.close();instruccion.close();canal.close();
} catch(SQLException e) {} catch(Exception ex){};
}; // fin evento buscar
// codigo de evento EDICION
String temp2=request.getParameter("EDITAR");
if(temp2==null)temp2=" ";
if(temp2.compareTo("EDITAR")==0)
{
String nombre,q ;
int edad; float estatura;
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String strcon = "jdbc:mysql://localhost/mibase?user=lauro&password=laurosoto";
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) {};
try {
tabla = instruccion.executeQuery("select * from mitabla");
} catch(SQLException e) {};
nombre = request.getParameter("NOMBRE");
edad = Integer.parseInt(request.getParameter("EDAD"));
estatura = Float.parseFloat(request.getParameter("ESTATURA"));
q = "UPDATE mitabla SET "+ "NOMBRE='"+ nombre+ "', EDAD="+ edad+",estatura="+estatura+" WHERE clave=" + clave+";";
try{instruccion.executeUpdate(q); }catch(SQLException e) {};
try {tabla.close();instruccion.close();canal.close();} catch(SQLException e) {};
out.println("REGISTRO EDITADO");
}; // fin evento editar
// construyendo forma dinamica
out.println("<FORM ACTION=prog47.jsp METHOD=post>");
out.println("CLAVE EDITAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=BUSCAR VALUE=BUSCAR ><BR>");
out.println("</FORM>");
%>
Veamos la corrida completa:
(tabla original)
forma dinamica que construye prog47.jsp
continua prog47.jsp
no era murcielago era batman!!
1.- TAREAS PROGRAMACION JAVA JSP construir programas de edición para sus tablas y bases de datos