Java - acceder a access desde java

 
Vista:

acceder a access desde java

Publicado por Arturo S (3 intervenciones) el 01/07/2006 05:27:53
1º que todo Saludos

Este es mi problema:

he creado una base de datos (D:/Java/bd1.mdb) en access, la tabla se llama escuela y el campo Alumno.

he creado el DSN con mi base de datos D:/Java/bd1.mdb
(panel de control,Herr Adm, ODBC, agregar DSN, Microsoft Access Driver)

lo que quiero hacer y no me resulta jeje es
1º cargar el driver
2º conectar a la base de datos(hasta aqui no hay problemas )

3º que muestre los registros que hay en el campo Alumno de la tabla escuela

este es mi codigo:
(cuando lo ejecuto me imprime: No se ha podido conectar a la bese de datos)

----------------------------------------------------------------------------------------------------------------------

import java.sql.*;

public class base2
{

Connection con;
Statement stmt;
public base2()
{

//cargamos el driver

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }
catch(ClassNotFoundException ex)
{ System.out.println("No se ha podido cargar el Driver JDBC-ODBC"); }

//creamos la conexion

try
{

Connection con = DriverManager.getConnection("jdbc:odbc:mibase");

//creamos un Statement para ejecutar sentencias SQL

Statement stmt = con.createStatement();

/*creamos el Resulset para obtener inf de un campo atraves
de un getString*/

ResultSet rs = stmt.executeQuery("SELECT Alumno FROM escuela");

// pregunto si se mueve al 1º, si es verdadero hay registros

if(rs.first())
{
System.out.println("los Alumnos son: ");

//leemos el string Alumno

System.out.println(rs.getString("Alumno"));

//si se pude mover al sgte hay mas registros

while(rs.next())
System.out.println(rs.getString("Alumno"));

}

//cerramos el Statement y la conexion

stmt.close();
con.close();

}

catch(SQLException ex)

{ System.out.println("No se ha podido conectar a la bese de datos");}

}

public static void main(String argv[])
{

new base2();
}
}

creo que el problema esta desde
ResultSet rs = stmt.executeQuery("SELECT Alumno FROM escuela");
hasta el final

bueno....
ese es mi problema. Espero que tengan solucion a mi problema y si no igual Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:acceder a access desde java

Publicado por leo (12 intervenciones) el 01/07/2006 08:53:33
Bueno yo hice una conexión java access ya hace un rato.

Y bueno por el error que dices que te manda pos deberias checar tu DSN asegurate que se llama "mibase", por que si no es asi debes poner el nombre que le hayas puesto.

Y en el statement también puedes tener conflictos podrias poner:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);

Cuando caches la excepción mandala a imprimir para ver el error.

Espero te sirva. ATTE Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:acceder a access desde java

Publicado por Arturo S (3 intervenciones) el 01/07/2006 20:00:11
lo he arreglado!!
pero lo que necesito ahora que no ntengo la menor idea de como hacerlo es sacar los promedios de las notas
cualquier sugerencia y/o ayuda sera muy bienvenida
Saludos

este es mi codigo:

import java.sql.*;

class base3
{
public static void main(String argv[])
{

//cargamos los diferentes String para luego ser llamados
String bd1="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:/Java/bd1.mdb";
String sql;
sql="SELECT * FROM escuela";

try
{

//Utilizamos esto para seleccionar el controlador apropiado en java para la conexion
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (java.lang.ClassNotFoundException e)
{
System.out.println("no se ha podido cargar el driver");
}
try
{

//creamos la conexion
Connection con = DriverManager.getConnection(bd1);

//Creamos un objeto Statment para enviar las consultas a la base de datos.
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(sql);
{System.out.println("Nombre y Notas");}
while (rs.next())
{

//llamamos el string
String n = rs.getString("Nombre");
String a = rs.getString("Nota 1");
String b = rs.getString("Nota 2");
String c = rs.getString("Nota 3");

//mostramos el resultado guardado en el String
{System.out.println(n + " ---> " + a + " "+ b + " " + " " + c + "\n");}
}

//Cerramos la conexion
stmt.close();
con.close();
}
catch(SQLException e)
{
System.out.println("No fue posible la conexion");
}
}
}
-----------------------------------------------------------------------------------------------------------------------
y me imprime lo sgte:

Nombre y Notas
Maria ---> 40 55 70

Luis ---> 55 40 70

Jessica ---> 47 65 70

Arturo ---> 58 45 70

Juan ---> 65 40 70
-----------------------------------------------------------------------------------------------------------------------
como hago para sacar los promedios?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:acceder a access desde java

Publicado por Gabriel (2 intervenciones) el 21/02/2008 18:13:59
Hola... Yo estoy tratando de crear una conexion de una base de datos hecha con access, yo utilizo netbeans para programar y realizar mi interfas y netbeans tre su driver odbc para crear la conexion pero me lanza un error me dice que no puede obtener el schema de la base de datos... sim embargo intente hacerlo todo por codigo y cuando voy a insertar un dato no me deja realizar la operacion me lanza una excepcion de sql... yo trato de insertar de la siguiente manera("INSERT INTO netbeansday VALUES(""+nom+"",""+ape+"",""+ced+"",""+tel+"",""+dir+"")" de esa manera inserto... y si alguien sabe alguna manera de ayudarme se lo agradeceria mucho ya que es para u sistema que intento hacer... si tienen algun ejemplo me lo podrian enviar a este mail "[email protected]" ... gracias

att: Gabriel Mendez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar