Paquetes a importar
import java.net.URL;Definicion de la clase
import java.sql.*;
class SimpleSelect {Definicion de la funcion main
Declaracion de variables y objetos globalespublic static void main (String args[]) {
Statement stmt, pstmt;
PreparedStatement pstmt2;
ResultSet rs;
String url = "jdbc:odbc:DSNAlumnos";
String query = "SELECT ramo,apellido FROM alumnos";
int nCommand =0;
int nRet = 0;
Carga the jdbc-odbc bridge drivertry {
Activa un log a la consola de javaClass.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Intenta conectarse a un driver que puede procesar la URL definina en url//DriverManager.setLogStream(System.out);
Si no puede conectarse a algun driver, se genera una excepcion y el control del programa es llevado a la porcion catch de la clase. Revisa y despliega los warning generados por el connect.Connection con = DriverManager.getConnection ( url, "", "");
A partir de la coneccion establecida en el objeto con, obtiene informacion de la coneccion lograda a traves del objeto DatabaseMetaData y luego la despliegacheckForWarning (con.getWarnings ());
A partir del objeto con, crea el objeto stmt (statement), para posteriormente procesar la sentencia SQL contenida en la variable qryDatabaseMetaData dma = con.getMetaData ();
System.out.println("Connected to " + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
System.out.println("Version " + dma.getDriverVersion());
System.out.println("");
Ejecuta la sentencia SQL contenida en query, y deja el resultado en el objeto rs (result set)stmt = con.createStatement ();
Despliega el resultado contenido en el resultet rs. Esta es una funcion descrita mas adelanters = stmt.executeQuery (query);
Cierra los objetos rs y stmtdispResultSet (rs);
Cierra la conexionrs.close();
stmt.close();
Procesa las interrupciones que se puedan haber generado, debido al SQLcon.close();}catch (SQLException ex) {
Procesa las interrupciones debido a otro motivoSystem.out.println ("\n*** SQLException caught ***\n");}catch (java.lang.Exception ex) {
while (ex != null) {System.out.println ("SQLState: " + ex.getSQLState ());}
System.out.println ("Message: " + ex.getMessage ());
System.out.println ("Vendor: " + ex.getErrorCode ());
ex = ex.getNextException ();
System.out.println ("");
ex.printStackTrace ();
}}
Funcion para el chequeo y despliegue de los warning de SQL
private static boolean checkForWarning (SQLWarning warn) throws SQLException {boolean rc = false;}
if (warn != null) {System.out.println ("\n *** Warning ***\n");}
rc = true;
while (warn != null) {System.out.println ("SQLState: " + warn.getSQLState ());}
System.out.println ("Message: " + warn.getMessage ());
System.out.println ("Vendor: " + warn.getErrorCode ());
System.out.println ("");
warn = warn.getNextWarning ();
return rc;
Funcion para deplegar el result set
private static void dispResultSet (ResultSet rs) throws SQLException{Inicializa el objeto rsmd para recuperar informacion de los nombres de las columnasint i;
Obtiene el numero de columnas desplegadasResultSetMetaData rsmd = rs.getMetaData ();
Despliega el nombre de las columnansint numCols = rsmd.getColumnCount ();
for (i=1; i<=numCols; i++) {System.out.print(rsmd.getColumnLabel(i) + " ");}
System.out.println("");
Para cada columna despliega su contenidoboolean more = rs.next ();
while (more) {
Extrae la siguiente linea del result setfor (i=1; i<=numCols; i++) {System.out.print(rs.getString(i) + " ");}
System.out.println("");
}}more = rs.next ();}