Problème lors de l'ajout dans une bd

stella20 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
ezo_es Messages postés 103 Statut Membre -
Bonjour,
je suis entrain de créer une application web avec jsp(j'utilise netBeans),gestion personnel,qui va me permettre d'ajouter,modifier,rechercher et supprimer un employé,j'ai fait la connexion entre la base de données(accès) et les pages jsp,j'ai crée une page réponse qui va me permettre d'ajouter des informations concernant un employé dans la base de données,en m'affichant un message"ajout avec succès" ,le problème c'est que les informations que j'ajoute ne s'enregistre pas dans la base de données,et ce message s'affiche même si rien ne s'est ajouté..
voila le code que j'ai mis:
<%
String sql="insert into employé(code-emp,nom,prénom,grade,échelle,service) values('"+request.getParameter("a1")+"','"+request.getParameter("a2")+"','"+request.getParameter("a4")+"','"+request.getParameter("a5")+"','"+request.getParameter("a6")+"','"+request.getParameter("a7)"+"')");
try{

Connection c=DriverManager.getConnection("JDBC:ODBC:gperson");
Statement st=c.createStatement();
st.executeUpdate(sql);
}catch (Exception e){
e.printStackTrace();
}
%>
<center><b>ajout avec succée</b></center>
merci pr votre aide

5 réponses

NookZ Messages postés 2376 Statut Membre 514
 
Votre message s'affichera dans tous les cas car vous n'avez pas précisé de condition à son affichage.

Par contre je ne vois pas de soucis au niveau de l'update :s
0
stella20 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 

méme si rien ne s'ajoute dans la base de données,cette page s'affiche,vous pourez me dire comment je pourais préciser la condition de son affichage..car ça marche pa comme ça
0
le père
 
Bonjour

tu as inversé " et ) vers la fin de ta requête
"a7)"+"')");
alors que ce devrait être
"a7")+"')");
0
stella20 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
merci pr votre réponse,j'ai corrigé l'erreur,mai ça marche pa encore,càd que rien ne s'ajoute au niveau de ma base de données..
0
ezo_es Messages postés 103 Statut Membre 9
 
Bonjour
je ne sais pas de quoi tu dispose exactement dans tonprojet (servlet, jsp...)mais je te propose de suivre ce schema
tu crees le formuliare correspondant a l'ajout dans une page jsp avec ce code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="Ajouter_empl" method="post">
<fieldset>
<legend>Ajouter un employé:   </legend>
<table ><br>
<tr><td>code :</td><td><input type="text" name="code_emp" value=""></td></tr>
<tr><td>Nom : </td><td><input type="text" name="nom" value=""></td></tr>
<tr><td>Prenom :</td><td><input type="text" name="prenom" value=""></td></tr>
<tr><td>grade :</td><td><input type="text" name="grade" value=""></td></tr>
<tr><td>echelle :</td><td><input type="text" name="echelle" value=""></td></tr>
<tr><td>service :</td><td><input type="text" name="service" value=""></td></tr>
<tr><td colspan="2">    </td></tr>
<tr><td><input type="submit" name="btn" value="Ajouter"></td></tr>
</table>
</fieldset>
</form>
</body>
</html>




puis tu crees une Servlet nommé Ajouter_empl

import java.io.*;
import java.net.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.RequestDispatcher;

public class Ajouter_empl extends HttpServlet {

@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {

PrintWriter out = response.getWriter();
String code_emp = request.getParameter("code_emp");
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
String grade = request.getParameter("grade");
String echelle = request.getParameter("echelle");
String service = request.getParameter("service");

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:sourceONE");
try {
Statement requette = (Statement) con.createStatement();
requette.executeUpdate("insert into emp values('" + code_emp + "','" + nom + "','" + prenom + "','" + grade + "','" + echelle + "','" + service + "')");
requette.close();
} finally {
con.close();
}

RequestDispatcher rd = request.getRequestDispatcher("forjsp.jsp");
rd.forward(request, response);
} catch (Exception e) {
out.println("Erreur : " + e.getMessage());
}
}
}
0
stella20 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
je travaille avec jsp,j'ai creé la page de l'ajout et ça marche,le prob est dans la page réponse,(celle qui va me premettre d'ajouter des information à la base de donnés)..et qui m'affiche un msg quand l'ajout est effectué,rien ne s'ajoute au niveau de la base ,et la page réponse s'affiche tt de méme,

et ça sert à quoi ce code?:
RequestDispatcher rd = request.getRequestDispatcher("forjsp.jsp");
rd.forward(request, response);
} catch (Exception e) {
out.println("Erreur : " + e.getMessage());
}
}
}

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ezo_es Messages postés 103 Statut Membre 9
 
Bonsoir

RequestDispatcher rd = request.getRequestDispatcher("exemlpe.jsp");
elle te permet de retourner a la page jsp nommé exemlpe ou la page que tu as mentionné dans les parentheses
moi aussi je suis debutante en jsp
bonn cance :)
0