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

Servlets/JSP Java Discussion :

access et servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut access et servlet
    bonjour je suis entrain d faire un site d'e-commerce tout allait bien jusqu'a ce que j'essai de faire la servlet de paiement.
    je recupere le caddie et recupere ds la base le prix de chaque article pour le cout total et je fais le destockage. voici le code

    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
    public class Paiement extends HttpServlet {
    	public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException
    	{ 
    		res.setContentType("text/html");
    		PrintWriter out = res.getWriter();
    		try  
    		{
     
    			Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    		    String dburl = "jdbc:odbc:donnes";
    			Connection con = DriverManager.getConnection(dburl,"","");
    			Statement stmt = con.createStatement();
    			Statement stm = con.createStatement();
    			String numcb=req.getParameter("num_carte");
    			String mois=req.getParameter("expmois");
    			String an=req.getParameter("expyear");
    			String clef=req.getParameter("cle");
    			ResultSet rs = stmt.executeQuery("select * from compte where num_CB='"+numcb+"' and exp_mois="+mois+" and exp_year="+an+" and cle="+clef+";");
     
    			if(rs.next())
    			{
    				int id = rs.getInt("id_client");out.println(id);
    				HttpSession masession = req.getSession();
    				Stack<String> panier = (Stack<String>)masession.getAttribute("panier");
    				if((panier!=null)&&(panier.size()>0))
    				{ 
    					int i=1; Float cout=null;ResultSet r ;
    					while(panier.size()-i>=0)
    					{
    						String name =panier.elementAt(panier.size()-i);
    						r = stmt.executeQuery("select * from article where id_article="+name);
    						if(r.next())
    						{   
    							Date madate=new Date();
    							cout+=r.getFloat("prix");stm.executeUpdate("inset into vente values("+name+","+id+",'"+madate+"';");
    						}stm.executeUpdate("delete from article where id_article="+name);
    						i++;
    						r.close();
    					}
    j'ai le message suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java.lang.NullPointerException
    	com.mon_pc.Paiement.doGet(Paiement.java:44)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    aidez moi svp
    merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Citation Envoyé par nabelou1 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.NullPointerException
    	com.mon_pc.Paiement.doGet(Paiement.java:44)
    aidez moi svp
    merci d'avance
    à quelle ligne du code correspond la ligne 44?

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    c'est le

    if(rs.next()) que je fais pour tester mon resultset

  4. #4
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    le probleme est resolu mais j'ai un autre souci qui a suivi.
    comme dans ma base le prix est en text j'ai voulu le recuperer en faisant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String p=r.getString("prix");
    p1=Float.parseFloat(p);
    mais apparemment il n'aime pas la conversion de string en float c'est pareil avec les double.voici l'erreur que j'ai reçu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    java.lang.NumberFormatException: For input string: "10,99"
    	sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
    	java.lang.Float.parseFloat(Unknown Source)
    	com.mon_pc.Paiement.doGet(Paiement.java:52)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

  6. #6
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Remplace d'abord la virgule par un point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String p=r.getString("prix");
    String pSansVirgule = p.replace(",",".");
    p1=Float.parseFloat(pSansVirgule);

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    ça marche
    j'ai reessayer avec les float et ça marche
    en fait c'est parce que j'avais fais Float cout=0.0 au lieu de 0.0F


    je vous remercie pour le coup de main

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/12/2011, 20h32
  2. Servlet non accessible
    Par ChristopheD dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/03/2010, 20h30
  3. Travailler avec JSP/Access sans utiliser des servlets
    Par sonia5 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/02/2010, 11h24
  4. Accès base access 2007 via servlet.
    Par abdelghani_k dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 18/12/2009, 11h06
  5. [JAVA] Probleme de connexion a ACCESS via une Servlet.
    Par rider4ever dans le forum Access
    Réponses: 8
    Dernier message: 10/02/2006, 18h45

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