Salve a tutti, non so se è un problema relativo ad access o a java, quindi se sbaglio forum scusatemi e ditemelo subito.
Ho creato una classe java che deve eseguire delle query su un database access
codice:
public class esegui {
static Connection con = null;
public static void main(String[] args) {
try {
// connessione
connessione();
String sql = "SELECT * FROM tabella1";
System.out.println("ok1");
PreparedStatement ps = con.prepareStatement(sql);
System.out.println("ok2");
java.sql.ResultSet rs = ps.executeQuery();
System.out.println("ok3");
while (rs.next()) { // Per ogni riga della prima tabella
String sql2 = "SELECT * FROM tabella2";
ps = con.prepareStatement(sql2);
java.sql.ResultSet rs1 = ps.executeQuery();
while (rs1.next()) { // vedi se l'elemento 2 che corrisponde al codice
if (rs1.getString(2).equals(rs.getString(2))) {
System.out.println(rs.getString(3));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void connessione() {
// TODO Auto-generated method stub
String url="jdbc:odbc:Database1.accdb";
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
System.out.println("connessione aperta");
try {
Class.forName(driver);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
con = DriverManager.getConnection(url);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
questo è il risultato:
connessione aperta
ok1
ok2
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Un known Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQue ry(Unknown Source)
at esegui.main(esegui.java:28)
come mai?
la query nn è sbagliata perchè se la eseguo su access va a buon fine, e la connessione credo che vada pure a buon fine..