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 :

Base de données JDBC


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut Base de données JDBC
    Bjour, j'ai un problème depuis hier avec mon code.

    D'après mon code, je souhaite me connecter a une base de donnée pour enregistrer dans une table des données que je recupere d'un formulaire(client) je me connecte vers la BD à partir de ma servlet.Ma servlet est censé m'afficher dans une page html un tableau avec toutes les données de ma table(BD), c'est cela qu'elle ne fait pas et je ne comprends pas en compilant ma servlet je n'ai aucune erreur de code mais il ne m'affiche pas mon tableau avec ses données recupérées ds la base de données mysql.
    Quelqu'un pourrait m'aider à comprendre et y remedie
    En exécutant la servlet le serveur me génère une erreur HTTP STATUT 500:

    java.lang.NumberFormatException: null
    java.lang.Integer.parseInt(Unknown Source)
    java.lang.Integer.parseInt(Unknown Source)
    Exercise5.Inventory1.doGet(Inventory1.java:74)
    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    package Exercise5;
     
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import javax.sql.*;
    import java.lang.*;
     
    public class Inventory1 extends HttpServlet 
      {
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
      {
     
        String user = "aglandon";
        String pass = "uplykqth";
        String dburl="JDBC:mysql://localhost/aglandon";
        response.setContentType("text/html");
        PrintWriter out = response.getWriter(); 
     
        out.println("<html>");
        out.println("<head><title>Mon Inventory</title></head>");
        out.println("<body>");
        out.println("  <FORM METHOD=\"GET\" ACTION=\"http://136.206.25.35/aglandon/servlet/Exercise5.Inventory\">");
        out.println("  <h3>Add/update a product</h3>");
        out.println("  ID :  <INPUT TYPE=\"text\" NAME=\"ID\" SIZE=\"20\"> <p>");
        out.println("  Name :  <INPUT TYPE=\"text\" NAME=\"Name\" SIZE=\"20\"> <p>");
        out.println("  Description : <INPUT TYPE=\"text\" Description=\"ID\" SIZE=\"20\"> <p>");
        out.println("  Price :  <INPUT TYPE=\"text\" NAME=\"Price\" SIZE=\"20\"> <p>");
        out.println("  Quantity:  <INPUT TYPE=\"text\" NAME=\"Quantity\" SIZE=\"20\"> <p>");
     
    try{
     
         String pilote ="com.mysql.jdbc.Driver";
         Class.forName(pilote);
    }catch(ClassNotFoundException cnfe){
       out.println("Driver introuvable : ");
       cnfe.printStackTrace();}
     
     
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
    try{
     
     
         String createQuery="CREATE TABLE IF NOT EXISTS inventory (ProductID INTEGER UNSIGNED PRIMARY KEY, ProductName VARCHAR(30), ProductDescription VARCHAR(40),ProductPrice INTEGER UNSIGNED,Quantity INTERGER UNSIGNED)";
         connection = DriverManager.getConnection(dburl,user,pass);
         statement  = connection.createStatement();
         statement.executeUpdate(createQuery); 
    }
     
    catch(SQLException sqle){}
    finally{
                   if (statement != null) {
    				try {
                                         statement.close();
    				} catch (SQLException e) {}
    				statement = null;
                            }
     
                    if (connection!= null) {
    				try {
    					connection.close();
    				} catch (SQLException e) {}
    				connection= null;
    			}
    }
     
    try{
     
        String Id="";
        Id=request.getParameter("ID");
        int id=Integer.parseInt(Id);
        String name="";    
        name=request.getParameter("Name");
     
        String description="";
        description=request.getParameter("Description");
     
        String Pryce="";
        Pryce=request.getParameter("Price");
        int price=Integer.parseInt(Pryce);
     
        String Quantiti="";
        Quantiti=request.getParameter("Quantity");
        int quantity=Integer.parseInt(Quantiti);
        connection = DriverManager.getConnection(dburl,user,pass);
        statement  = connection.createStatement();
        String addElementQuery="INSERT INTO inventory (ProductID, ProductName, ProductDescription, ProductPrice, Quantity) VALUES (" +id+ "," + name + "," + description + ", " + price + ", " + quantity+ ");";    
        statement.executeUpdate(addElementQuery);
     
     
    }catch(SQLException sqle){}
    finally{
                   if (statement != null) {
    				try {
                                         statement.close();
    				} catch (SQLException e) {}
    				statement = null;
                            }
     
                    if (connection!= null) {
    				try {
    					connection.close();
    				} catch (SQLException e) {}
    				connection= null;
    			}
    }
     
    try{
    out.println("1");
         connection = DriverManager.getConnection(dburl,user,pass);
         statement  = connection.createStatement();
         String selectQuery="SELECT * FROM inventory";
     
         statement.executeQuery(selectQuery);
         resultSet = statement.getResultSet();
         out.println("<table border=\"1\" cellspacing=\"1\">");
     
         out.println("<TR><TD>Product ID</TD> <TD>Product Name</TD> <TD>Product Description</TD> <TD> Product Price (&eur;) </TD> <TD> Quantity </TD></TR>");
     
         while(resultSet.next()){
         out.println("<TR><TD>" + resultSet.getInt("ProductID") + "</TD> <TD>"+ resultSet.getString("ProductName") +"</TD> <TD>"+resultSet.getString("ProductDescription")+"</TD> <TD>"+resultSet.getInt("ProductPrice")+" (&eur;) </TD> <TD>"+ resultSet.getInt("Quantity")+" </TD></TR>");
            }
     
      }catch(SQLException sqle){}
       finally{if (resultSet != null)
    			{
    				try {
    					resultSet.close();
    				} catch (SQLException e) {}
    				resultSet= null;
    			}
    			if (statement != null) {
    				try {
                                         statement.close();
    				} catch (SQLException e) {}
    				statement = null;
    			}
    			if (connection!= null) {
    				try {
    					connection.close();
    				} catch (SQLException e) {}
    				connection= null;
    			}
    }
     
       out.println("  <INPUT TYPE=\"submit\" VALUE=\"Submit\">  <INPUT TYPE=\"reset\" VALUE=\"reset\"> <p>");
       out.println("</FORM>");  
       out.print("</table>");
       out.println("</body>");
       out.println("</html>");
     
      }
     
      }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il suffit d'analyser la trace.

    Le problème est :
    java.lang.NumberFormatException: null
    qui est généré par un appel à :
    java.lang.Integer.parseInt

    Le problème se pose dans Inventory1.java à la ligne 74 :
    Exercise5.Inventory1.doGet(Inventory1.java:74)

    Cette ligne 74 est :
    int price=Integer.parseInt(Pryce);

    Donc ta variable "Pryce" vaut null.
    Il va falloir que tu vérifies si tu as bien nommé ton paramétre. Si oui, alors c'est que ce paramétre ne fait pas partie de la requête.

    Bon courage.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut Toujours Rien
    Ok,

    mais maintenant ma servlet lorsqu'elle est exécutée, elle ne me renvoie pas le tableau ds lequel j'affiche les differentes données prises de la base de donnée, c'est comme si il n'yavait aucune connexion avec la BD.

    Cette erreur:
    java.lang.NumberFormatException: null
    java.lang.Integer.parseInt

    C'est juste que lorsque j'exécute ma servlet elle me renvoie un formulaire(Form du code) ds lequel je saisie des données et en même temps, elle se connecte à la BD dans l'optique de stockés ces données or avant ces données n'éataient pas fournies(NULL).

    Mais pourquoi ne m'affiche t'elle pas mon tableau?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut
    je recupère l'erreur Java.lang.NumberFormatException ds un try cacth mais tjrs est-il que je n'ai pas la suite.

    J'ai l'impression que mes requêtes vers la BD sont omises!!!

  5. #5
    Invité
    Invité(e)
    Par défaut
    Fais les choses étapes par étape.
    Par exemple est-ce que tu sais si le bloc try/catch du SELECT s'exécute correctement ?
    C'est bien de "catcher" les exceptions, mais si tu ne fais rien dedans, alors tu ne sauras pas s'il y a eu une erreur ou pas.

    Au début tu n'as qu'à mettre :
    out.println(sqle.printStackTrace());
    ainsi s'il y a une erreur tu sauras ce qui se passe
    Bien sûr une fois terminé il faut plutot avoir quelque chose du style :
    out.println("SQL Exception dans le select<br/>");

Discussions similaires

  1. [JDBC]Eclipse et base de données
    Par gigande dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/04/2005, 14h04
  2. Réponses: 4
    Dernier message: 15/01/2005, 16h05
  3. [JDBC]Creation d'une base de données
    Par julien21 dans le forum JDBC
    Réponses: 2
    Dernier message: 08/01/2005, 22h11
  4. [JDBC]acces à une base de données mysql
    Par sehaba dans le forum JDBC
    Réponses: 13
    Dernier message: 07/12/2004, 00h39
  5. [JDBC]Création d'instances de base de données
    Par romano21 dans le forum JDBC
    Réponses: 5
    Dernier message: 29/04/2004, 15h05

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