ProgramacionFacil

UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA JAVA SERVLET 11: OPERACIONES CON CAMPOS

Este es tambien un caso comun con elementos de una tabla, sin embargo es tambien facil de resolver.

Es necesario recordar primero algunas cosas elementales:

1.- Recordar que el numero de columna en una tabla empieza en 1, esto es que para realizar alguna operación por ejemplo la columna edad del ejemplo que estamos siguiendo, su numero de columna es la 2.

2.- La operación que se plantee se puede realizar con todos los renglones de la tabla o con un solo renglon de la tabla(del resultset).

3.- En el ejemplo se realiza la operación con todos los renglones de la tabla y no olvidar que se tiene que usar la instruccion sql Update para que la nueva información se actualize en disco, recordar que los cambios que se hacen a la tabla, es realmente al resultset, que a su vez es una tabla o base de datos en la memoria de la maquina del cliente o usuario, y estos cambios hay que actualizarlos o pasarlos o UPDATE a la base de datos en disco.

El siguiente programa le aumenta 50 a todas las edades.

Recordar que un programa ejecutable se puede correr directamente desde tu sitio en programacionfacil con la direccion, http://programacionfacil.com:9090/tusitio/servlet/prog21

Ademas que no tiene caso hacer una forma21.html (esa la construyen ustedes de tarea)


import java.io.*;

import java.util.*;

import java.net.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class prog21 extends HttpServlet

{

public void doGet (HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

PrintWriter pagina;

pagina =response.getWriter();

response.setContentType("text/html");

pagina.println("<HTML>");

int edad=0, clave=0, ultimo=0 ;

String q;

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");

} catch(SQLException e) {};

try {

tabla.last();

ultimo=tabla.getInt(1);

tabla.first(); } catch(SQLException e) {};

for(int r=1; r<=ultimo; r++)

{

try {

clave = tabla.getInt(1);

edad =tabla.getInt(3); } catch(SQLException e) {};

edad=edad+50;

q="update mitabla set edad= "+edad+ " where clave = "+clave+";";

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

clave=clave+1;

try {tabla = instruccion.executeQuery("select * from mitabla");}catch(SQLException e) {};

try { tabla.absolute(clave); } catch(SQLException e) {};

};

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

pagina.println("ya termine");

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

pagina.close();

};

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

}

nota: como se observa se puede construir directamente la string q y no usar command.parameters(), si se esta muy seguro que los tipos de datos que se mandan a disco son los apropiados para access.

corrida prog21.java

image455.jpg

como que lo animalitos ya estan viejitos??

TAREAS PROGRAMACION JAVA SERVLET:

1.- construir una tabla en access que traiga matricula, nombre, calif1, calif2, calif3 y promedio, cargar en access unos 5 renglones de alumnos, no cargar promedio, el promedio lo deberan calcular con un programa.

 




 


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Politica de Privacidad