Probleme avec les calculs

danechoue - Modifié par BunoCS le 4/02/2014 à 11:39
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 4 févr. 2014 à 19:32
Bonjour,
Chers amis j'ai 2 soucies majeures et j'arrive pas a trouver de solution.
La premiere j aimerai que à l'enregistrement de chaque nouvelle commande la table produit soit vide et la seconde est que j arrive pas a avoir le montant calculer.voici le code que j'utilise.Mercie d'avance

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.sql.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.lang.*" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Gestion des Stocks</title>
</head>
<body>
<center>
 <h2> </h2>
 <hr>
 <table> <tr> <td>  <h3>Enregistrement Bon de Commande</h3> </td>
 <TD><a href="FormMenuPrincipalAd.jsp"> <IMG SRC="accueil.gif" border=0  ALT="Menu Principal"></a></TD>
  <tr> </table>
<form method="post" action="creerCommande.jsp">

<table>
 <tr>
 <td> Bon de commande N°</td>
 <td><input name=NumCde type="text" size="20"></td>
 </tr>

<!-- <tr> -->
<!--  <td>Fournisseur :</td> -->
<!--  <td><input name=NomFrss type="text" size="20"></td> -->
<!--  <td>Telephone :</td> -->
<!--  <td><input name=tel type="text" size="20"></td> -->
<!--  </tr> -->
 <%
 //Connection à la base Oracle
 Connection con=null;
 
 try
 {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 
  con = DriverManager.getConnection(
     "jdbc:odbc:youbs", "dane",
     "dane");
//   out.write("connexion reussie !");
 } 
 catch(Exception e)
 {
  out.write("connexion non reussie !");
 }
 // lancement de la requete
 
   Statement st=null,st1=null,st2=null;
 ResultSet rs=null,rs1=null,rs2=null;
 
 st=con.createStatement();
 st1=con.createStatement();
 st2=con.createStatement();
 rs=st.executeQuery("select NomFrss from Fournisseur");
 rs1=st1.executeQuery("select tel from Fournisseur");
 rs2=st2.executeQuery("select NomService from Service");
 %>
 <tr>
 <td>  Fournisseur :  </td>         
     <td>  <SELECT name="NomFrss">
 
 <% while(rs.next()){
  
  String nomfournisseur=rs.getString("NomFrss");
 
  %>
  
  <OPTION VALUE="<%= nomfournisseur%>"> <%= nomfournisseur%> </OPTION>
  
   <%
  }
         // rs.close(); 
     // st.close();
     //con.close();   %>
     </SELECT> </td> 
 
 
 <td>  Telephone :  </td>         
     <td>  <SELECT name="tel">
 
 <% while(rs1.next()){
  
  String telfournisseur=rs1.getString("tel");
 
  %>
  
  <OPTION VALUE="<%= telfournisseur%>"> <%= telfournisseur%> </OPTION>
  
   <%
  }
          rs.close(); 
      st.close();
      rs1.close(); 
      st1.close();
    // con.close();   %>
     </SELECT> </td> 
 
 </tr>
  
  
 <tr> 
  <td>Demandeur :</td> 
 <td><input name=demandeur type="text" size="20"></td>  
 </tr> 

  <tr>
 <td> Nom Service:  </td>         
     <td>  <SELECT name="NomService">
     
 <% while(rs2.next()){
  
  String nomservice=rs2.getString("NomService");
 
  %>
  
  <OPTION VALUE="<%= nomservice%>"> <%= nomservice%> </OPTION>
  
   <%
  }
          
      rs2.close(); 
      st2.close();
     con.close();   %>
     </SELECT> </td> 
  </tr>
 
 
 <tr>
 <td>  Imputation : </td>         
     <td>  <SELECT name="imputation">
  <% String imput[] = {"Budget National","Budget Autonome"};
  
  
   for(int i = 0; i < imput.length; i++) {
    String imputation = imput[i];  
   %>
   <OPTION VALUE="<%= imputation%>"> <%= imputation%> </OPTION> 
 <% }%>
  
     </SELECT> </td> 
  </tr>
 
</table> 

 <br>
 
 <%
 // Connection à la base Oracle
 Connection conn=null;
 
 try
 {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 
  conn = DriverManager.getConnection(
     "jdbc:odbc:youbs", "dane",
     "dane");
  //out.write("connexion reussie !");
 } 
 catch(Exception e)
 {
  out.write("connexion non reussie !");
 }
 // lancement de la requete
 Statement ste=null;
 ResultSet rse=null;
 
 ste=conn.createStatement();
 rse=ste.executeQuery("select * from Produit");
 int mt=0; double TVA=0.18;
 int HT=0;
 double totalTVA=0;
 double totalTTC=0;
 %>
 
 
<table BORDER="2">
 <caption>Achat des produits suivant : <a href="FormAjouterProduit.jsp">ajouter un produit  </a></caption>
  <thead>
  <tr>
   <TH>Designation</TH>
   <TH>Unité</TH>
   <TH>Type</TH>
   <TH>Observations</TH>
   <TH>PU</TH>
   <TH>qte</TH>
   <TH>Montant</TH>
  </tr>
  </thead>
   <tbody>
  <% while(rse.next())   
 { mt=rse.getInt(6)*rse.getInt(7);
 HT+=mt;
  %> 
  <TR>
   <TD> <%= rse.getString(2)  %></TD>
   <TD> <%= rse.getString(3)  %></TD>
   <TD> <%= rse.getString(4)  %></TD>
   <TD> <%= rse.getString(5)  %></TD>
   <TD> <%= rse.getInt(6)  %></TD>
   <TD> <%= rse.getInt(7)  %></TD>
   <TD> <%= mt  %></TD>
    
   
  </TR>
  
  <% }
  totalTVA=TVA*HT;
  totalTTC=HT+totalTVA;
  %>
  </tbody>
  
 </table>

 <br>
 
<table>
 <tr>
 <td>Bamako, le</td>
  <td><input name=dateCde type="text" size="20"></td> 
  </tr>

 </table>
 
  <br><br>
 <table>
 <tr>
 <td><input type="submit" value="Enregistrer"></td>
  </tr>
 </table>

 </form>
</center>



</body>
</html>

2 réponses

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
4 févr. 2014 à 11:40
Hello,
J'ai édité ton message afin de rajouter les balises code.
Plus d'infos ici.

Merci d'y penser la prochaine fois ;)
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 127
4 févr. 2014 à 19:32
Évites les scriptlets (le code Java directement entre
<%= %>
), ça a de grosse failles de sécurité.

De plus ne mets pas ton code métier dans ta JSP, par exemple l'initialisation de ta base de données n'a rien à faire là. Limites toi à quelques accesseurs et des appels de méthodes dans des classes Java, ce sera plus simple à coder, et à donc à déboguer.

Voici un exemple de code qui permet de faire les choses "bien", on peut encore faire mieux avec des framework (struts & co), mais la JSTL ce sera déjà un bon début → Exemple simple d'application JSTL
0
Rejoignez-nous