Mais où est le problème ?? Sql/Java [RESOLU]

Mais où est le problème ?? Sql/Java [RESOLU] - Java - Programmation

Marsh Posté le 22-04-2003 à 19:29:34    

piti code tout bo :
 
import java.sql.*;
 
 
public class InterfaceSql
{
         
    public static void main (String[] args)
    {
         
     Connection conn;
     Statement stmt;
     ResultSet rs;
     String pilote = "org.gjt.mm.mysql.Driver"; // driver sql à mettre ici
     String url = new String("jdbc:mysql://localhost/testtel" ); // ma base s'appelle testtel
         
        try
        {
            Class.forName(pilote);            
             
            conn = DriverManager.getConnection(url,"","" );
                         
            stmt = conn.createStatement();
             
            rs = stmt.executeQuery("select * from jourdate" ); // je prends tous les éléments de la colonne "jourdate"
             
            while (rs.next()) // tant que je peux continuer je boucle
            {
                String sujet = rs.getString("cétépourkoi" ); // je prend le contenu de la colonne "cétépourkoi"
                System.out.println(sujet + "\n" ); // et je l'affiche
            }            
             
            rs.close(); // je ferme la requete  
            stmt.close(); // je ferme l'état de conn
            conn.close(); // et je ferme la connexion
             
        }
         
// bon, si tout ça ça a marché je check les exceptions :
 
// si ça vient d'Sql :
 
        catch ( SQLException E)
        {
            System.out.println("SQLException: " + E.getMessage());
        System.out.println("SQLState:   " + E.getSQLState());
        System.out.println("VendorError:  " + E.getErrorCode());
        }
 
// si ça vient du fait que la classe n'a pas été trouvée :
        catch ( ClassNotFoundException E)
        {
            E.printStackTrace();
        }
         
    }    
     
}
 
 
edit :
Rectification du code
IMPORTANT : il ne faut pas oublier d'installer le driver org.gjt.mm.mysql.Driver dans c:\program files\java\lib\ext (uniquement le jar)
 
merci à tous ! ;)
Je laisse ce post, au cas où yaurait des gens que ça pourrait aider  :)


Message édité par le20k le 23-04-2003 à 11:46:15

---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 22-04-2003 à 19:29:34   

Reply

Marsh Posté le 22-04-2003 à 19:48:05    

C'est quoi l'erreur de compil ?
 
EDIT : je m'aperçois que tu fais juste un Class.forName() mais sans newInstance() derrière. J'pense pas que ça soit vital à la compil mais bon. Essaie : class.forName(pilote).newInstance();
 
Ah et pis aussi :  

Citation :

String sujet = rs.getString("cétépourkoi" );
System.out.println(nom + "\n" );


Y a pas comme un problème, là ? [:ddr555]


Message édité par Taiche le 22-04-2003 à 19:54:02

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 22-04-2003 à 20:07:04    

Taiche a écrit :

C'est quoi l'erreur de compil ?
 
EDIT : je m'aperçois que tu fais juste un Class.forName() mais sans newInstance() derrière. J'pense pas que ça soit vital à la compil mais bon. Essaie : class.forName(pilote).newInstance();
 
Ah et pis aussi :  

Citation :

String sujet = rs.getString("cétépourkoi" );
System.out.println(nom + "\n" );


Y a pas comme un problème, là ? [:ddr555]


 
l'erreur de compilation ( quand j'aurais réinstallé jbuilder ... ) était du style "no main" ... mais c'était bizarre comme erreur  :??:  
 
et pour le sujet/nom, vive le copier coller  :whistle:  
 
pour le moment j'attend que borland m'envoient une clé d'activation pour jbuilder 8 personnal.
C relou ...
 
 
en tt cas merki pour le conseils   :jap:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 22-04-2003 à 20:10:24    

euh Class.forName et pas class.forName  :sarcastic:  
 
et jette jbuilder stp.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 22-04-2003 à 20:15:12    

the real moins moins a écrit :


 
et jette jbuilder stp.


 
paske ?
j'avais eclipse avant mais il bugge dans tous les sens ...  
 
j'arrive pas à le faire fonctionner  :(  
 
donc je me suis restreint à jbuilder pask'il parait que pour l'interfaçage java/sql il est po mal


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 22-04-2003 à 20:18:32    

le20k a écrit :


 
paske ?
j'avais eclipse avant mais il bugge dans tous les sens ...  
 
j'arrive pas à le faire fonctionner  :(  
 
donc je me suis restreint à jbuilder pask'il parait que pour l'interfaçage java/sql il est po mal

:heink:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 22-04-2003 à 20:22:25    


 
 
mais encore ?   :??:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 23-04-2003 à 04:46:43    

bizarre, si je change nom par sujet (probleme de copier coller apparement) chez moi ca compile, tout ce que j'ai fait c'est virer les accents de "cetepourkoi" parce que j'ai pas d'accents sur mon clavier, mais bon, ca compile, et en plus ca fait exactement ce qu'il faut.  
 
Si ca se trouve, tu as oublie d'ajouter le jar qui contient donc Driver JDBC dans les Required Libraries de ton projet JBuilder (si j'ai bien compris, c'est ce que tu utilises non ?)
 
Bref, chez moi ca marche...  [:alb77]

Reply

Marsh Posté le 23-04-2003 à 07:59:32    

Taiche a écrit :

EDIT : je m'aperçois que tu fais juste un Class.forName() mais sans newInstance() derrière. J'pense pas que ça soit vital à la compil mais bon. Essaie : class.forName(pilote).newInstance();


ca change rien à la compile, mais même, le Class.forName est la 'bonne' façon de charger un driver JDBC. Faire un newInstance derrière n'apporte rien.
 
Le fait de charger la classe (forName) execute bloc static contenu de la classe org.gjt.mm.mysql.Driver. Ce bloc static  ajoute le driver à la liste des drivers connus par la JVM.


Message édité par benou le 23-04-2003 à 08:16:55

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 23-04-2003 à 08:13:09    

benou a écrit :


ca change rien à la compile, mais même, le Class.forName est la 'bonne' façon de charger un driver JDBC. Faire un newInstance derrière n'apporte rien.
 
Le fait de charger la classe (forName) execute bloc static contenu de la classe org.gjt.mm.mysql.Driver. Ce bloc static a pour ajoute le driver à la liste des drivers connus par la JVM.


Je le note :jap:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 23-04-2003 à 08:13:09   

Reply

Marsh Posté le 23-04-2003 à 08:18:36    

Taiche a écrit :


Je le note :jap:


moi aussi je me suis demandé ce que pouvait bien faire le Class.foName ... jusqu'à ce que je découvre l'existence du bloc static :)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 23-04-2003 à 11:28:36    

--> To The real moins moins :
en fait, j'ai remis Eclipse ( faute de temps ... ) et il s'avère que ça fonctionne parfaitement ;) c'était juste que je n'avais pas parametré la compilation ( "run as .." )
mais là depuis ce matin je suis dessus et ça fonctionne en fait vraiment très bien  :pt1cable:  
 
 
--> To Souk : J'ai téléchargé le fichier zip de la classe org.gjt.mm.mysql.Driver mais où l'installer ?
j'ai les répertoires suivants :
 
c:\j2sdk1.4.1_02
c:\eclipse
c:\program files\java\j2re1.4.1_02\bin
c:\program files\java\j2re1.4.1_02\lib


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 23-04-2003 à 11:44:07    

ben il faut que tu ajoutes ton jar dans le classpath, ou alors si tu testes ton appli sous JBuilder (no comment...) tu vas dans le menu "project" puis dans "properties" et la, il y a un onglet "required properties", tu cliques dessus, tu fais "ajouter" et tu fais "new" dans la nouvelle fenetre,  puis "add" et la tu selectionnes ton jar dans l'arborescence, et tu valide a tout va jusqu'a ce que tu retournes sous JBuilder.
Normalement ca devrait marcher.
 
J'ai ete clair ? peut etre pas, mais il faut dire que JBuilder est tellement intuitif... Quand on voit ce qu'il faut faire pour inclure un pauvre JAR dans le classpath :lol:

Reply

Marsh Posté le 23-04-2003 à 11:48:05    

souk a écrit :

ben il faut que tu ajoutes ton jar dans le classpath, ou alors si tu testes ton appli sous JBuilder (no comment...) tu vas dans le menu "project" puis dans "properties" et la, il y a un onglet "required properties", tu cliques dessus, tu fais "ajouter" et tu fais "new" dans la nouvelle fenetre,  puis "add" et la tu selectionnes ton jar dans l'arborescence, et tu valide a tout va jusqu'a ce que tu retournes sous JBuilder.
Normalement ca devrait marcher.
 
J'ai ete clair ? peut etre pas, mais il faut dire que JBuilder est tellement intuitif... Quand on voit ce qu'il faut faire pour inclure un pauvre JAR dans le classpath :lol:  


 
heu franchement, vu que j'ai remis eclipse, j'ai meme pas essayé de comprendre ce que tu viens de m'ecire  :p  
C'est tellement plus simple avec eclipse  :sol:  
Merci en tt cas ! j'ai réussi à compiler et à exécuter  :jap:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 23-04-2003 à 12:36:26    

benou a écrit :


-Le fait de charger la classe (forName) execute bloc static contenu de la classe org.gjt.mm.mysql.Driver. Ce bloc static  ajoute le driver à la liste des drivers connus par la JVM.

je le note aussi  :jap:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed