UNIDAD 6: JAVA JSP REGISTROS Y ARCHIVOS DIRECTOS

TEMA 8: EDICION MODIFICACION DE REGISTROS JAVA JSP

Modificar o editar un registro es uno de los procesos mas comunes con archivos en disco, generalmente despues de un fuerte proceso de captura de registros, una revisión o consulta general muestra muchos de ellos con errores de captura.

La primera parte del programa es el programa normal de busqueda que ya se construyo en temas anteriores, pero al desplegar el registro se debera construir una forma dinamica que incluya los datos a modificar del registro.

La segunda parte del programa toma los datos, los almacena en el registro en memoria luego se posiciona en el registro en disco a modificar con seek() y se regraban con write().

Prog31.jsp


<%@ page import="java.io.*" %>

<%

// creando e inicializando los campos del registro

int clave=0;

String nombre="";

int edad=0;

long treg=58;

if(request.getParameter("BUSCAR") != null)

{

// capturando clave de busqueda

int claveb=Integer.parseInt(request.getParameter("CLAVEB"));

// abriendo archivo

try {

File arch=new File("c:\\archivo2.dat");

RandomAccessFile archivo=new RandomAccessFile(arch,"rw");

// moviendo apuntador interno a posicion deseada

archivo.seek(claveb * treg);

// leyendo registro

clave=archivo.readInt();

//leyendo la string 25 caracteres

for(int i = 0; i < 25; ++i)

{ nombre += archivo.readChar(); };

edad=archivo.readInt();

//desplegando en su propia forma y controles dinamicos

if (claveb==clave)

{

out.println("<FORM ACTION=prog31.jsp METHOD=post>");

out.println("CLAVE :"+clave+"<BR>");

out.println("NUEVO NOMBRE:<INPUT TYPE=TEXT NAME=NOMBRE value=\""+nombre+"\"><BR>");

out.println("NUEVA EDAD :<INPUT TYPE=TEXT NAME=EDAD value="+edad+"><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=EDITAR VALUE=editar><BR>");

out.println("<INPUT TYPE=HIDDEN NAME=CLAVEB value="+claveb+"><BR>");

out.println("</FORM>");

};

// limpiando string

nombre="";

// cerrando archivo

archivo.close();

} catch(FileNotFoundException fnfe) { }

catch (IOException ioe) { }

}; // fin metodo buscar

// codigo de metodo EDICION

String temp2=request.getParameter("EDITAR");

if(temp2==null)temp2=" ";

if(temp2.compareTo("editar")==0)

{

// capturando los nuevos datos

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

nombre=request.getParameter("NOMBRE");

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

// procesando la string para que quede de tamano fijo

if (nombre.length() < 25)

{ for(int i=nombre.length(); i <25; i++)

nombre=nombre+" ";}

else{ nombre=nombre.substring(0,25); };

//* abriendo archivo */

try {

File archt=new File("c:\\archivo2.dat");

RandomAccessFile archivot=new RandomAccessFile(archt,"rw");

// posicionando en registro a modificar

archivot.seek(clave * treg);

// regrabando

archivot.writeInt(clave);

archivot.writeChars(nombre);

archivot.writeInt(edad);

// cerrando archivo

archivot.close();

} catch(FileNotFoundException fnfe) { /* Archivo no encontrado */ }

catch (IOException ioe) { /* Error al escribir */ }

// avisando

out.println("REGISTRO EDITADO");

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog31.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>");

%>

Corrida

image56.jpg

corrida

image57.jpg

corrida

image58.jpg

La unica instrucción nueva en este tema es que se usan dos variables de tipo FILE y RANDOMACCESSFILE una de ellos para controlar la busqueda y la otra para controlar la modificación en disco, asimismo se uso un campo hidden para pasar la información a el submit EDITAR.

TAREAS PROGRAMACION JAVA JSP

CONSTRUIRLES PROGRAMAS DE EDICION O MODIFICACION A LOS ARCHIVOS YA CONSTRUIDOS.

 




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