Bonjour.
J'ai crée un formulaire qui est lié à une servlet afin d'insérer des données dans une base Access
La connexion fonctionne bien et j ai testé la servlet en passant des arguments en dur dans le code et tout fonctionne bien.
Par contre j'ai plus de mal à insérer les données récupérées depuis le formulaire.
Je n arrive pas à gérer ma requête SQL avec les variables.
J'ai un peu tout essayer mais sans grand succès et je suis incapable de retrouver un exemple que j avais vu sur le site de Sun ou ils donnaient un exemple très clair d'insertion via JDBC depuis un formulaire.
Si quelqu'un peut me donner une piste ce serait cool.
Code :
/**
* Servlet permettant d'insérer de nouveaux banc d'essais dans la base
* de données
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletBanc extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException
{
/** Récupération dans des variables des informations saisies dans le formulaire */
PrintWriter pw = rep.getWriter();
nom = req.getParameter("nom");
marque = req.getParameter("marque");
diam = req.getParameter("diam");
cpt = req.getParameter("cpt");
if (nom!=null)
{
/** Affichage pour tester le contenu des variables */
pw.println("Nom de la norme : "+nom);
pw.println("<br>");
pw.println("Marque : "+marque);
pw.println("<br>");
pw.println("diam : "+diam+" m");
pw.println("<br>");
pw.println("Compteur : "+cpt);
pw.println("<br>");
}
else {pw.println("Erreur, l'identifiant ne peut etre nul");}
/**Chargement du pilote JDBC - ODBC */
try
{
//Configuration et connexion à la base
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dataSourceName = "mdbTEST";
String dbURL = "jdbc:odbc:" + dataSourceName;
Connection con = DriverManager.getConnection(dbURL, "","");
// création du Statement
Statement s = con.createStatement();
s.execute("INSERT INTO banc VALUES ('"+nom+",'"+marque+",'"+diam+",'"+cpt+")");
s.close(); con.close();
}
catch (Exception e) {System.out.println("Error: " + e);}
}
private String nom;
private String marque;
private String diam;
private String cpt;
}