IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

probleme avec prepared statement via Java


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 71
    Par défaut probleme avec prepared statement via Java
    Bonjour.

    désoler si je suis dans la mauvaise section.

    mon problème c'est d'essayer de lancer une requête sql avec java sur une base mysql.
    j'utilise l'api wamps(mes tables sont creer avec PHP myAdmin)

    le code de connexion a la base est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void etablir_connection_Wamp(){
     
    String pilote = "com.mysql.jdbc.Driver";
    	try{
    		Class.forName(pilote);
    connect = DriverManager.getConnection("jdbc:mysql://localhost/calendrier?user=root&password=");
     	}
    	catch (Exception e){
     
    		System.out.println("echec pilote : "+e);
    	}
    }
    apres la connexion j'essaye de lancer une requete de la façon suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static void requete() throws SQLException{
     
                 PreparedStatement pstat = connect.prepareStatement
                            ("SELECT MAX(idCalendrier)
                              FROM calendrier");
                 resultString = pstat.executeQuery();
    j'ai l'erreur suivante:
    Exception in thread "main" java.lang.NullPointerException
    at convert2.XMLtoBD.requete(XMLtoBD.java:78)
    la ligne 78 correspond a pstat = connect.prepareStatement
    ("SELECT MAX(idCalendrier)
    FROM calendrier");

    SVP de l'aide...merci

    EDIT :
    quand je lance la requete avec phpMyadmin ça marche.

    par contre je ne sais pas comment faire pour lancer la requete sans prepared statement

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Citation Envoyé par khaled69100
    Exception in thread "main" java.lang.NullPointerException
    at convert2.XMLtoBD.requete(XMLtoBD.java:78)
    Citation Envoyé par khaled69100 Voir le message
    la ligne 78 correspond a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pstat = connect.prepareStatement("SELECT MAX(idCalendrier) FROM calendrier");
    Cela veut dire que connect est null, soit tu n'as pas utilisé le même que celui créé dans etablir_connection_Wamp(), soit tu as eu une exception, que tu n'as pas géré.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 71
    Par défaut
    Exactement cheryben.

    erreur de debutant..quand je lance connection_wamp je ne garde pas la connexion ouverte c'est pour cela que je ne pouvais effectuer aucune operation(select,insert...) .
    il faus juste changer le type de retour de la connection_wamp en CONNECTION.
    comme ça la session de connection reste activer pendant tout le deroulement du programme.

    Merci pour votre aide

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 16
    Par défaut vue en java
    bsr tout le monde voilà j'essaye de faire une servlet qui me permettra de me connecter à une base de données sous mysql, et donc j'utilise une requête sql (une vue) pour récupérer mes données, voici le code:
    Code Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    package com.servlet.projet;
     
    import java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class Premiere_vue extends HttpServlet
      {
      private Connection con;
      private PrintWriter out;
      public void init(ServletConfig conf) throws ServletException
        {
        super.init(conf);
        try
          {
        //charger le pilôte
          Class.forName("com.mysql.jdbc.Driver");
        //Etablir une connexion 
          con =DriverManager.getConnection ("jdbc:mysql://localhost:3306/cc", "root", "mysql");
          }
        catch(Exception e)
          {
          System.out.println(e);
          }
        }
      public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
        {
        res.setContentType("text/html");
        try
          {
          out = res.getWriter();
          out.println("<html><head><title>");
          out.println("JDBC Servlet");
          out.println("</title></head><body>");
          //création de l'instruction avec un objet statement pour envoyer des commandes à la base
          Statement stmt = con.createStatement();
          //Executer la requete 
          ResultSet rs = stmt.executeQuery("CREATE VIEW view AS select commande.ID_mag,commande.ID_art,facture.Qte_fact,article.Prix_G,article.Taxe  FROM article,commande,facture " +
          		"WHERE (commande.ID_art=article.ID_art) and (commande.ID_CMD=facture.ID_CMD) ");
          out.println("<TR>");
          out.println("<TD>Id_Mag</TD>")  ;
          out.println("<TD>Id_art </TD>");
          out.println("<TD>Qte_fact</TD>");
          out.println("<TD>Prix_G</TD>");
          out.println("<TD>Taxe </TD>");
          out.println("</TR>");
          out.println("<TD>");out.println("</TD>");
     
          while (rs.next())
          {
     
          out.println("<TR>");
     
          out.println(rs.getString("ID_mag"));
     
          out.println("<TD>");
          out.println(rs.getString("ID_art"));
          out.println("</TD>");
          out.println("<TD>");
          out.println(rs.getString("Qte_fact"));
          out.println("</TD>");
          out.println("<TD>");
          out.println(rs.getString("Prix_G"));
          out.println("</TD>");
          out.println("<TD>");
          out.println(rs.getString("Taxe"));
          out.println("</TD>");
     
          out.println("</TR>");
          }
          out.println("</table>");
          out.println("</body>");
          out.println("</html>");
     
          rs.close();
          stmt.close();                           
          }
        catch(SQLException e)
          {
          out.println("Exception SQL");
          }
        catch(IOException e)
          {
          }
        out.println("</body></html>");
        out.close();
        }
      public void destroy()
        {
        try
          {
          con.close();
          }
        catch(SQLException e)
          {
            ;
          }
        }
      }


    et donc je n'arrive pas à afficher mes résultats ,y a un message d'erreur qui est : Exception SQL
    quelqu'un pourrait il m'aider pour faire cette vue(c'est une vue local juste sur un seul site et une seule base de données).
    merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 71
    Par défaut
    Bonjour.
    ta requête c'est un CREATE donc tu ne va pas avoir de résultat dans ton ResultSet.

    ce que tu peux faire si je ne dit pas de bêtise c'est lancer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    stmt.executeUpdate("CREATE VIEW view AS select commande.ID_mag,commande.ID_art,facture.Qte_fact,article.Prix_G,article.Taxe FROM article,commande,facture " +
    "WHERE (commande.ID_art=article.ID_art) and (commande.ID_CMD=facture.ID_CMD) ");
    une fois la vue créer tu fais un SELECT dessus et tu récupère tes résultats dans ton ResultSet

    A++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec une requete oracle-java
    Par molo1987 dans le forum Débuter avec Java
    Réponses: 16
    Dernier message: 04/12/2012, 22h21
  2. probleme avec les constructeur en java
    Par amal88 dans le forum Langage
    Réponses: 11
    Dernier message: 10/03/2007, 01h32
  3. Réponses: 10
    Dernier message: 16/03/2005, 18h25
  4. Réponses: 8
    Dernier message: 13/08/2004, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo