[Java] : Statement stmt = con.createStatement

Fermé
DEDE - 20 avril 2005 à 14:25
 ahamen - 3 juil. 2012 à 10:41
Bonjour,
je doit intégrer une requête sql dans mon programme java mais lorque j'écrit cette ligne de création d'un objet requête, éclipse m'indique cette erreur : The method createStatement() is undefined for the type connexion alors que j'ai bien importé java.sql . Voilà, si quelqu'un avait une idée...
Merci.
A voir également:

3 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
20 avril 2005 à 14:47
Bonjours DEDE !

Tu peux mettre ton code (qui concerne le pb), ca sera plus simple, bon perso pas pour moi car jamais touché au base en java encore, mais pour les autres.

++
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
20 avril 2005 à 14:50
Tu as bien fais une connexion avant ? Et c'est pas plus un prepareStatment qui faudrait faire ? Je dit ça mais ... j'ai juste regarder deux sec la javadoc par intrigue donc il faut pas forcément en tenir compte !
0
Alors voici le code entier, j'espère que ça vous aidera un peu plus ...
package projet2annee;

import java.sql.*;
import java.io.*;


public class connexion{
public void init (){
Connection con ;
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection("jdbc:oracle:thin:@172.16.1.17:1521:bdoracle","lehouxa","audrey");
System.out.println("Connection réussie");
}
//catch(ClassNotFoundException e0){
//System.out.println("ClassNotFoundException"+e0);
//}
catch(SQLException e1){
System.out.println("SQLException"+e1);
}
catch(Exception e2){
System.out.println("Exception"+e2);
}

}

public static void main(String args[])
{
connexion con = new connexion();
con.init();
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery("Select * from Adresse_mail");
while (rset.next ()){
System.out.println(rset.getString (1));
}
}
}

La connexion marche bien et que je mette prepareStatement ou create Statement j'ai toujours la meme erreur .. Snif, Snif.... Enfin voilà, merci
0
Satrialien Messages postés 52 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 28 janvier 2006 13
20 avril 2005 à 15:09
Salut Dédé,

le problème vient du fait que tu appelles la méthode createStatement() sur ton objet "connexion" alors qu'elle devrait l'être sur ton objet "Connection".
Autrement dit, il faudrait faire ça :

 public static void main(String args[])
{
connexion con = new connexion();
con.init();
Statement stmt = con.con.createStatement();
ResultSet rset = stmt.executeQuery("Select * from Adresse_mail");
while (rset.next ()){
System.out.println(rset.getString (1));
}
} 


Qques conseils :
- renomme ta classe "connexion" en "Connexion" (c plus conforme aux normes)
- ta variable "con" devrait être passée en private et tu devrais créer un accesseur "getCon()"
- n'oublies pas de fermer resultSet, statement et connection une fois que t'en as plus besoin

Bon courage
0
slt Satrialien, est ce que je peut avoir votre email merci
0