Import javax.swing.JOptionPane;
import java.io.FileWriter;
import java.sql.*;
public class test{
/* IMPORTANTE!!!
*
* Prima di tutto bisogna impostare l'origine dati in windows tra le variabili ODBC.
*
* Pannello di controllo -> strumenti di amministrazione -> origine dati (odbc) -> in DSN utente
* fare aggiungere e in nome origine dati mettere il nome del DB, es. prova.mdb, poi clickare su "seleziona" e inserire il path del DB.
*
* Senza queste impostazioni non ci si può connettere al db, il programma non trovare i driver e lo stesso DB.
*/
//il nome del DB cui accedere
String url="jdbc:odbc:provajava.accdb";
Connection con;
public test(){
openConnection();
}
//metodo per effettuare qualsiasi query sul DB
public ResultSet query(String query){
try{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
System.out.println("ok");
return rs;
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Interrogazione fallita: "+e.getMessage(),"Messaggio:",0,null);
closeConnection();
return null;
}
}
public void update(String update){
try{
Statement stmt=con.createStatement();
stmt.executeUpdate(update);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Interrogazione fallita: "+e.getMessage(),"Messaggio:",0,null);
closeConnection();
}
}
//apre la connessione col DB
public void openConnection(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,"Driver per database non trovato: "+e.getMessage(),"Messaggio:",0,null);
}try{
con = DriverManager.getConnection(url,"admin","12440");//eventualmente user e password, se il DB è rpotetto da password, admin è di default
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Connessione Fallita: "+e.getMessage(),"Messaggio:",0,null);
}
}
//chiude la connessione col DB
public void closeConnection(){
try{
con.close();
System.out.println("connessione chiusa");
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Connessione Fallita: "+e.getMessage(),"Messaggio:",0,null);
}
}
public static void main(String[] args) {
//esempio lettura
//apro la connessione
test t = new test();
try{
//eseguo la query ed ottengo un resultset
ResultSet rslt = t.query("SELECT * FROM Anagraficauten");
//posso accedere ai metadati
ResultSetMetaData rsmd=rslt.getMetaData();
int i=rsmd.getColumnCount(); //trova il numero di colonne
//leggo tutti i dati e li stampo a video
while(rslt.next()){
for(int j=1;j<=i;j++){
System.out.print(rslt.getString(j)+" -- ");
}
System.out.println("");
}
//chiudo il resultset
rslt.close();
//chiudo la connessione al DB
t.closeConnection();
}
catch(Exception ez){
ez.printStackTrace();
System.err.println("errore della query");
}
}
}