JDBC es bsicamente, el protocolo usado para manejar bases de datos dentro de un contexto Java. Con JDBC es posible ejecutar sentencias SQL, tal como se ha aprendido anteriormente en el curso. A continuacin vamos a crear una pequea aplicacin grafica donde se vern los aspectos ms centrales de una aplicacin JDBC.
La aplicacin consistir en una subclase de Frame, cuyas variables de instancia sern las componentes graficas (botones, areas de texto, etc). En el constructor de la clase definiremos el LayoutManager, haremos los adds de los componentes, y registraremos los Listeners de la aplicacin. El comportamiento de la aplicacin lo programaremos en el mtodo actionPerformed.
Contamos con una base de datos llamada example, la cual contiene las siguientes tablas:
Tabla: DISTANCIAS NOMBRE KM Rancagua 84 ... ...
Tabla: COMBUSTIBLE TIPO COSTO Diesel 300 ... ...
Tabla: BUSES TRAYECTO VALOR 200 80 ... ...
Tabla: AUTO TIPO REND VEL TIPO_BENC Familiar 7 90 97 ... ... ... ...
Se le pide que realice la(s) consulta(s) apropiadas para obtener la siguiente informacion:
1. Distancia mxima que pueden llegar cada tipo de vehculo con 5.000 pesos de combustible. 2. Costo (por conceptos de combustible) de viajar en un camin hasta chillan. 3. Coeficiente entre el costo de viajar para cada vehculo hacia concepcin y el costo en bus para el mismo trayecto.
1.
Select COSTO, REND From AUTO, COMBUSTIBLE Where AUTO.TIPO_BENC = COMBUSTIBLE.TIPO
Resultado = (5000 /costo) * rend
2.
Select COSTO, REND From AUTO, COMBUSTIBLE Where AUTO.TIPO = camion And AUTO.TIPO_BENC = COMBUSTIBLE.TIPO
Select KM From DISTANCIAS Where NOMBRE = chillan
Resultado = costo * (km / rend)
3.
Select KM From DISTANCIAS Where NOMBRE = concepcion
Select COSTO, REND From AUTO, COMBUSTIBLE Where AUTO.TIPO_BENC = COMBUSTIBLE.TIPO
Select VALOR From BUSES
Costo en auto = costo * (km / rend) Costo en bus = costo mas cercano a km
rsmd = rs.getMetaData(); int i = rsmd.getColumnCount();
//loop que recorre las columnas de la actual fila for( int ndx = 1; ndx <= i; ndx++ ){ textBox.append(rs.getString(rsmd.getColumnName( ndx ))+"\t"); } textBox.append("\n");
} textBox.append("---\n");
}catch (java.sql.SQLException ex){ System.out.println("Error en la consulta, error: "+ex); } }