Celeron
État :
Absent
|
Salut à tous,
Je suis en train de réaliser un projet en java avec access97 et j'ai des soucis de compilation. J'ai écrit le prog sous jbuilder9, et quand je lui demande de compiler le programme, il y a des erreurs que je n'arrive pas à résoudre. Ci-dessous le programme entier. J'ai essayé de le compiler sous MD-DOS, et celui-ci me dit qu'il ne peut pas lire le programme annuaire.java + 1 error (laquelle !?)
La base de données, je vous laisse le soin de le faire, 1 seule table (Numeros(cléprim); Nom; Prénom)
Merci pour l'aide.
Celeron
Le code est le suivant :
/**************************************************
*Annuaire.java
*Une petite application permettant de lire une source*
*de données ODBC et d'afficher l'ensemble des champs*
***************************************************/
//Les différents paquetages utilisés
import java.net.URL;
import java.sql.*;
import jdbc.odbc.*;
public class annuaire {
//L'URL représentant la source de données
static final String url="jdbc:odbc:Annuaire";
//La connexion à la source de données
static Connection cnx;
//main
//la méthode qui établit la connexion à la source de données et
//exécute la requête SQL
public static void main(String arg[]){
try{
//on change le driver JDBC-ODBC
Class.forName("jdbc.odbc.JdbcOdbcDriver");
//on réalise une connexion à la source de données
//protégé par le mot de passe "JDBC"
cnx=DriverManager.getConnection(url,"Admin","JDBC");
avertissements(cnx.getWarnings());//affiche les erreurs éventuelles
//on affiche quelques informations générales
DatabaseMetaData dma=cnx.getMetaData();
System.out.println("\nConnecte a" + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
System.out.println("Version " + dma.getDriverVersion());
System.out.println("");
//Création d'un objet 'Statement' permettant d'exécuter
//du code SQL
Statemnt stmt=cnx.createStatement();
//envoi de la requête et récupération du résultat
ResultSet rs=stmt.executeQuery ("Select * FROM NUMEROS");
//on affiche tous les champs
affiche(rs);
//on termine la requête et la connexion
rs.close();
stmt.close();
cnx.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
// SQL Trace
// une méthode générale qui affiche une exception SQL
public static void SQLTrace(SQLException ex){
System.out.println("\n***SQLException, attrapée ***\n");
};
while (ex !=null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println ("Message: " +ex.getMessage ());
System.out.println ("Vendeur: " +ex.getErrorCode());
ex = ex.getNextException ();
System.out.println ("");
}
System.Out.Println ("\n*** Stack trace***\n");
ex.printStackTrace();
}
//checkForWarning
//une méthode générale qui affiche une alarme SQL par exemple
//Erreur de conversion de type ou de troncature
public static boolean avertissements(SQLWarning Warn)
throws SQLException{
boolean rc=false;
if(warn !=null){
System.out.println("\n***Attention***\n");
rc=true;
while (warn !=null){
system.out.println("SQLState:" + warn.getSQLState());
system.out.println ("Message: " + warn.getMessage());
system.out.println ("Vendeur:" + Warn.geterrorCode());
system.out.println ("");
warn = warn.getNextWarning();
}
}
return rc;
}
//affiche
//affiche le contenu du ResultSet
private static void affiche (ResultSet rs)
throws SQLException{
int i;
//les informations telles que le nom des colonnes et
//leur nombre sont dans l'objet ResultSetMetaData
ResultSetMetaData rsmd = rs.getMetaData ();
int ncols = rsmd.getColumnCount ();
//affiche les en-tête de colonnes
for (i=1;i<=ncols;i++){
if (i>1) system.out.print("\t");
system.out.println(rsmd.getColumnLabel(i));
}
System.out.println("");
//affiche chaque ligne de la table
boolean encore=rs.next ();
while (encore){
//on lit et affiche toutes les colonnes
for (i=1;i<=ncols;i++){
if(i>1)System.out.println("\t");
System.out.println(rs.getString(i));
}
System.out.println("");
//puis on passe à la ligne suivante
encore = rs.next();
}
}
}
|