Connexion a Access par Java (Eclipse)

Signaler
Messages postés
30
Date d'inscription
samedi 27 novembre 2004
Statut
Membre
Dernière intervention
20 février 2006
-
Messages postés
1
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
8 novembre 2012
-
Bonjour, voila cette année au programme des cours Java mais le problème c'est que je ne m'en sort pas du tout. La on doit recuperer des valeurs d'une table qui a une table (dico) avec des mots.

voila le debut de mon code.

import java.sql.DriverManager;

import com.sun.corba.se.pept.transport.Connection;

public class UnJoueur {

public static void main(String[] args){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename="jdbc:odbc:dictionnaire.mdb";
String database="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+=filename.trim()+";DriverID=22;READONLY=true}";
Connection conn=DriverManager.getConnection(database,"","");
}
catch(Exception e){
System.out.println("Error:"+e);

}
}
}

il me soulign Connection conn en disan kil ne peu pas convertiir de connection en connection.
Et une fois connecter je ne sais pas comment faire pour recuperer les valeurs dans une variable...
Help please
Merci beaucoup

12 réponses

Messages postés
20
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
13 décembre 2010

Bonjour,
1)Tu devrais plutôt faire un import de la classe Connection du package java.sql.
2)Les valeurs peuvent être récupérées grâce à un objet de type ResultSet
ci-dessous un petit exemple (tu y ajouteras ton code pour la connection) :

/////////////////////////////////////////////////////////
import java.sql.Connection ;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sql {

Connection maConnection = null;

void execRequete(){
int monInt;
String maString = null;

try {
// Creation d'un Statement
Statement stmt = maConnection.createStatement();

ResultSet resultSet = stmt.executeQuery("SELECT unInt , unString FROM maTable");
while (resultSet.next()) {
monInt = resultSet.getInt(1);
maString = resultSet.getString(2);
}
} catch (SQLException e) {
System.out.println("ERREUR SQL = " + e.getMessage());
}

}
}

////////////////////////////////////////////////////////////////////////
ed
Messages postés
30
Date d'inscription
samedi 27 novembre 2004
Statut
Membre
Dernière intervention
20 février 2006

voila jai ca comme code maintenant est ce ke c bon?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class UnJoueur {

public class sql{
Connection maConnection=null;
void execRequete(){
int monInt;
String maString=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename="jdbc:odbc:dictionnaire.mdb";
String database="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+=filename.trim()+";DriverID=22;READONLY=true}";
Connection conn = DriverManager.getConnection(database,"","");
Statement stmt=maConnection.createStatement();
ResultSet resultSet=stmt.executeQuery("Select unInt, unString FROM dico");
while(resultSet.next()){
monInt=resultSet.getInt(1);
maString=resultSet.getString(2);
}

} catch(Exception e){
System.out.println("Error:"+e);
}
}

}
}

Comment on fait pour voir les resultat recuperer (oui je sais mais je suis pas tres bon.... donc desolé si mes questions ont lair bébète :'( )

Il me not: "java.lang.NoSuchMethodError:main"
Exception in thread "main"
Messages postés
20
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
13 décembre 2010

Bonjour,

1)Pour exécuter une application java, il faut au moins une classe contenant une méthode main().
Tu peux y mettre un truc dans le genre (c'est juste un exemple !) :
public static void main(String[] args){
UnJoueur monJoueur = new UnJoueur();
monJoueur.execRequete();
}

2)Pour voir le contenu de tes variables, tu peux faire un print à chaque fetch de ton while:
while(resultSet.next()){
monInt=resultSet.getInt(1);
maString=resultSet.getString(2);
System.out.println("Mon INT = " + monInt );
System.out.println("Ma String = " + maString );

}
3)comme maConnection est un membre de ta classe principale autant l'utiliser dans execRequete():
// à la place de : Connection conn = DriverManager.getConnection(database,"","");
maConnection = DriverManager.getConnection(database,"","");

4)L'instruction SQL "SELECT" donnée en exemple doit être adaptée à la structure de ta table dico. Vérifie donc
le nom et le type de tes colonnes dans ta table dico

5)Ta classe principale étant UnJoueur, supprime la ligne avec "public class sql" et vérifie bien les paires
(parenthèse ouvrante/parenthèse fermante).
public class UnJoueur {

<strike> public class sql{
</strike>
ed<strike>

</strike>
Messages postés
30
Date d'inscription
samedi 27 novembre 2004
Statut
Membre
Dernière intervention
20 février 2006

Merciiiiiiiiiiiiii beaucoup c'est tres gentil, la j'ai un tout petit souci, il me dit [microsoft][pilote odbc microsoft access] fichier '[inconnu]' introuvable
pourant dans les outil systeme jai cree un lien odbc qui s'appel dico, le nom de la base est dictionnaire...
Messages postés
4
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
26 mai 2007

Salut c rajaa avec vous je suis intéressé par votre programme, pour consulter la base de donner, j’ai essayé le s.o.println et il a marché mais je souhaite afficher le contenue dans un frame sous forme de tableau.
Désolé si la question est bête mais parce que je suis encore débutante
Messages postés
4
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
26 mai 2007

Salut c rajaa avec vous je suis intéressé par votre programme, pour consulter la base de donner, j’ai essayé le s.o.println et il a marché mais je souhaite afficher le contenue dans un frame sous forme de tableau.
Désolé si la question est bête mais parce que je suis encore débutante
Messages postés
6
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
3 août 2010

moi son soucis ce n'est pas le programme mais c'est le fichier access, je ne pige pas, il n'arrive pas à trouver la base de données, même si le fichier et bel et bien là : voici ma source pour les intéressés :

import java.sql.Connection ;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class connec {


int monInt;
String maString;
/**
* @param args
*/
Connection maConnection = null;

public void execRequete()
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//je charge le driver
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
//sinon
System.out.println("Impossible de charger le pilote jdbc:odbc");
}

try {

String DBurl = "jdbc:odbc:bd1"; //j'atteints mon fichier
maConnection = DriverManager.getConnection(DBurl);
} catch (SQLException e) {
System.out.println("Connection à la base de données impossible");
}





try { // Creation d'un Statement
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT Id , Type FROM maTable");
while (resultSet.next()) {
monInt = resultSet.getInt(1);
maString = resultSet.getString(2);
} }
catch (SQLException e) {
System.out.println("ERREUR SQL = " + e.getMessage());
} }
public void main (String [] args) {
connec t = new connec ();
}

}
Messages postés
6
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
3 août 2010

aidez moi svp, merci par avance

jf
Messages postés
4
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
3 mars 2015

Messages postés
4
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
3 mars 2015

bonjour,mon problème est le suivant:j'ai besoin créer une application java permettant de se connecter à une base de données (PME),envoyant 2 requetes et retourne à l'utilisateur 2 résultats.

Remarque: TABLES (ATTRIBUTS) RELATIONS
Individu (idIndividu, nom, prenom) pratique
Fonction (idFonction, libellé) exerce
Diplome (idDiplome, libellé) obtient
Langue (idLangue, libellé)

Individu (1,n) exerce (n,1) Fonction
Individu (1,n) pratique (n,1) Langue
Individu (1,n) obtient (n,1) Diplome

1ère requete: la Fonction exercée par un Individu dans une PME.

2ème requete: Langue pratiquée et Diplome obtenu par un Individu.

Merci..........
Messages postés
4
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
3 mars 2015

bonjour,mon problème est le suivant:j'ai besoin créer une application java permettant de se connecter à une base de données (PME),envoyant 2 requetes et retourne à l'utilisateur 2 résultats.

Remarque: TABLES (ATTRIBUTS) RELATIONS
Individu (idIndividu, nom, prenom) pratique
Fonction (idFonction, libellé) exerce
Diplome (idDiplome, libellé) obtient
Langue (idLangue, libellé)

Individu (1,n) exerce (n,1) Fonction
Individu (1,n) pratique (n,1) Langue
Individu (1,n) obtient (n,1) Diplome

1ère requete: la Fonction exercée par un Individu dans une PME.

2ème requete: Langue pratiquée et Diplome obtenu par un Individu.

Merci..........
Messages postés
1
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
8 novembre 2012

salut ...
quelq'un qui peut nous donner un tutoriel ...
j'ai créé une BD avec acess et je m'arrete là ...
Ou je dois inserer ce ODBC ... dans eclipse ? ... ou dans acess ?
merci