Conexión JAVA JDBC – ODBC
Thursday, 12 de April de 2007Ejemplo práctico de una conexión a una Base de Datos desde Java usando JDBC-ODBC. Te mostramos dos Ejemplos, uno para Consultar Datos y el otro para Insertar.
Ejemplo 1: Consulta a la Base de Datos
1. Vamos a crear una Clase llamada “JdbcEjem1” la cual tendría la siguientes estructura:
public class JdbcEjem1 {
public JdbcEjem1() { }
public static void main(String[] args) {
}
}
2. Debemos importar la siguiete librería:
import java.sql.*;
3. Dentro del método main vamos a declarer las sigiuentes variables:
Connection con;
Statement sentencia;
4. Seguidamente vamos a cargar el Driver usando las siguientes sentencias:
try{
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”);
}
catch(Exception e)
{
System.out.println(”No se ha cargado Driver JDBC-ODBC”);
}
5. Para realizar la conexión a la Base de datos se lo realiza de la siguiente manera:
con = DriverManager.getConnection(”jdbc:odbc:odbcEjem”, “”, “”);
notemos que el método getConnection() recibe tres argumentos, el primero es el que indica el URL de conexión que para nuestro caso es jdbc:odbc y seguido de ello escribimos el nombre del Origen de Datos que hemos creado para nuestro ejemplo “odbcEjem”, que es la base de datos a la cual nos vamos a conectar.
Los otros dos argumentos son el nombre de Usuario y Pasword respectivamente, en caso de que existieran, caso contrario irían vacíos como en este ejemplo.
6. Para ejecutar una sentencia se debe instanciar la variable de tipo Statement de la siguiente manera:
sentencia = con.createStatement();
7. Una vez instanciada la variable, podemos ejecutar una consulta, así:
String sql=”select * from alumno;”;
ResultSet result=sentencia.executeQuery(sql);
8. Y para mostrar los datos que devuelve la ejecución de la consulta utilizamos lo siguiente:
while(result.next()) {
System.out.print (”\n”+ result.getString(1) + “ ” +result.getString(2)+ “ ” +result.getString(3));
}
lo que hace es ejecutar un bucle mientras exista un resultado que mostrar, para mostrar la columna 1 del resultado producido al ejecutar la consulta se hace uso de: result.getString(1) y así mismo con el resto de columnas., como se puede observar en las líneas de código anterior.
9. Se cierra la conexión a la Base de Datos usando: con.close();
10. El código finalmente quedaría de la siguiente manera:
import java.sql.*;
public class JdbcEjem1 {
public JdbcEjem1() { }
public static void main(String[] args) {
Connection con;
Statement sentencia;
try{
//cargar el Driver
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”);
}
catch(Exception e)
{
System.out.println(”No se ha cargado Driver JDBC-ODBC”);
}
try{
//establecer la conexion
con = DriverManager.getConnection(”jdbc:odbc:OdbcEjem”, “”, “”);
//para ejecutar una sentencia de consulta:
sentencia = con.createStatement();
String sql=”select * from alumno;”;
ResultSet result=sentencia.executeQuery(sql);
//para mostrar el resultado de la consulta
while(result.next()) {
System.out.print (”\n”+ result.getString(1) + “ ” +result.getString(2)+ “ ” +result.getString(3));
}
//para cerrar la conexion
con.close();
}
catch(Exception e)
{
System.out.println(”conexion no establecida”);
}
}
}
Ejemplo 2: Insertar Datos
1. Se deben seguir los pasos del 1 al 6 solamente que a esta clase la llamaremos JdbcEjem2
2. Para insertar los datos habría que hacer uso de la siguiente sentencia:
String sql=”insert into alumno(cedula,nombre,edad,nivel) values(1704,’Laura’,23,’cuarto’);”;
sentencia.executeUpdate(sql);
notar que a diferencia del ejemplo 1 en esta ocación se hace uso del método: executeUpdate() ya que este es el método usado para eliminar, actualizar e insertar datos.
3. El código finalmente quedaría de la siguiente manera:
import java.sql.*;
public class JdbcEjem2 {
public JdbcEjem2() {
}
public static void main(String[] args) {
Connection con;
Statement sentencia;
try{
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”);
}
catch(Exception e)
{
System.out.println(”No se ha cargado Driver JDBC-ODBC”);
}
try{
con = DriverManager.getConnection(”jdbc:odbc:OdbcEjem”, “”, “”);
sentencia = con.createStatement();
String sql=”insert into alumno(cedula,nombre,edad,nivel) values(1704,’Laura’,23,’cuarto’);”;
sentencia.executeUpdate(sql);
con.close();
}
catch(Exception e)
{
System.out.println(”conexion no establecida”);
}
}
}
