lunes, 2 de noviembre de 2009

Conexion con Access 2003 en Java

Bueno este es un Code Sourse para realizar una conexion en java con el motor de Datos Access 2003, el code no es mio lo pongo para compartirlo no recuerdo la fuente de donde lo saque ya lo tengo hace buen tiempo pero aki lo tienen . . . .

import java.sql.*;

/*
* Debes debez de crear una base de datos en access con las siguientes:
* datos=nombre de la tabla
* id= campo autoincrementable
* nombre=tipo string
* sexo=tipo String
* edad=tipo entero
* La guardas y listo, copias la direcion donde la guardas en la varible dir
* Ver archvi doc para la conexion manual..
*/

public class Conexion{
private Statement statment=null;
private Connection conexion=null;
private String dir="C:\\BDprueba.mdb";//direcion de la base de datos
private String nombre="Prueba";//nombre de la conexion

public Conexion(){}

public static void main(String[] args){
Conexion c=new Conexion();
c.enlazarBD();//solo es nesecario llamarlo una vez
c.abrirConexion();

c.obtener();
//c.ingresar();
//c.modificar();
//c.eliminar();
cerrarConexion();
}

//Se encarga de realizar el enlace de datos(ODBC java y access)
//Lo realiza ejecutando un comando(odbcconf.exe)
public void enlazarBD(){
try {
Process p=Runtime.getRuntime().exec("odbcconf.exe /a {CONFIGDSN \"Driver do Microsoft Access (*.mdb)\" \"DSN="+nombre+"|Description=Es una prueba|DBQ="+dir+"\"}");
System.out.println("Esprando... ");
if(p.waitFor()==0)
System.out.println("JDBC-ODBC ---> Enlazado con exito");
else
System.out.println("JDBC-ODBC ---> Enlazado sin exito");
}catch (Exception err){
err.printStackTrace();
}
}

//Abre la conexion con la base de datos
public void abrirConexion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//carga el driver
conexion=DriverManager.getConnection("jdbc:odbc:"+nombre,"","");//carga la base de datos(crea la conexion con esta)
statment=conexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //para las consultas
System.out.println("Conexion exitosa");
}catch(Exception e){
System.out.println("No se ha podido cargar el Driver JDBC-ODBC");
}
}

//Cierra la conexion con la base de datos
public void cerrarConexion(){
try{
statment.close();
conexion.close();
}catch(SQLException e){
e.printStackTrace();
System.exit(1);
}
}

public void obtener(){
try{
ResultSet rs=statment.executeQuery("SELECT * FROM datos");
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("nombre")+" "+rs.getString("edad")+" "+rs.getString("sexo"));
}
}catch(SQLException e){
e.printStackTrace();
}
}

public void ingresar(){
try{
statment.executeUpdate("insert into datos(nombre,edad,sexo) values('Roger',21,'M')");
}catch(SQLException e){
e.printStackTrace();
}
}

public void modificar(){
try{
statment.executeUpdate("UPDATE datos SET edad=20 WHERE nombre='Roger'");
}catch(SQLException e){
}
}

public void eliminar(){
try{
statment.executeUpdate("DELETE FROM datos WHERE nombre='Roger'");
}catch(SQLException e){
e.printStackTrace();
}
}
}

No hay comentarios:

Publicar un comentario