je travaille avec struts,eclipse et tomcat.
jé un problemme de connexion avec la base de données SQLSERVER .
jé la page ajouter_medecin.jsp composée d'un formulaire dans lequel je saisi le nom et le prenom pour les enregistrer dans la base de données(stage) composée de la table medecin.
jé réalisé une classe connexion:
connexion.java:
/*
* Created on 10 nov. 2005
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package connexion;
import java.sql.*;
/**
* @author khalid
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Connexion {
private String pilote="sun.jdbc.odbc.JdbcOdbcDriver";
private String DBurl="jdbc:odbc:table";
private Connection con=null;
public void ChargerPilote(){
try{
System.out.println("chargement de pilote en cours..");
Class.forName(pilote);
System.out.println("fin de chargement ..");
}
catch (ClassNotFoundException e){
e.getMessage();
System.out.println("le chargement a echoué..");
}
}
public void DBConnection(){
try{
this.con=DriverManager.getConnection(DBurl);
System.out.println("connexion réussite..");
}
catch(SQLException e){
e.getMessage();
System.out.println("connexion echouée..");
}
}
public void Deconnecter(){
try{ this.con.close();}
catch(SQLException e){ e.getMessage();}
}
public void Executer(){
this.ChargerPilote();
this.DBConnection();
}
public Connection getCon(){
return this.con;
}
}
/*
* Created on 18 févr. 2005
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
et la classe MaRequeteUp.java ou j'effectue l'execution de la requete:
/*
* Created on 11 nov. 2005
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package requete;
import java.sql.*;
import connexion.Connexion;
/**
* @author khalid
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class MaRequeteUp {
private Connexion MaConnexion=new Connexion();
//private Statement stmt;
public String ExecuterReq(String nom,String prenom){
this.MaConnexion.Executer();
System.out.println("ds ma requete..");
String r="ok";
String nor="no_ok";
try{
System.out.println("ds le try ma requete..");
PreparedStatement stmt=this.MaConnexion.getCon().prepareStatement("insert into medecin(nom_medecin,prenom_medecin) values(?,?)");
System.out.println("encore ds le try de ma requete..");
//int nbrelines=stmt.executeUpdate(requete);
stmt.setString(1,nom);
stmt.setString(2,prenom);
System.out.println("apres le seter.");
stmt.executeUpdate();
System.out.println("le nombre de maj est:");
return r; //Integer.toString(inserer);
}
catch(SQLException e){
e.getMessage();
System.out.println("pas de maj..");
return nor; //e.getMessage();
}
}
/*public Statement getStmt(){
return this.stmt;
}*/
}
enfin la classe générée par struts Ajouter_medecinForm.java:
// Created by Xslt generator for Eclipse.
// XSL : not found (java.io.FileNotFoundException: (Le chemin d'accès spécifié est introuvable))
// Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xsl
package com.youcompany.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.youcompany.struts.form.Ajouter_medecinForm;
import requete.MaRequeteUp;
/**
* Ajouter_medecinAction.java created by EasyStruts - XsltGen.
* http://easystruts.sf.net
* created on 11-10-2005
*
* XDoclet definition:
* @struts:action path="/ajouter_medecin" name="ajouter_medecinForm" input="/medecin/ajouter_medecin.jsp" validate="true"
* @struts:action-forward name="/stage/message/medcin_ajout.jsp" path="/stage/message/medcin_ajout.jsp"
* @struts:action-forward name="/page/ajouter_medcin.jsp" path="/page/ajouter_medcin.jsp"
*/
public class Ajouter_medecinAction extends Action {
// --------------------------------------------------------- Instance Variables
// --------------------------------------------------------- Methods
/**
* Method execute
* @param ActionMapping mapping
* @param ActionForm form
* @param HttpServletRequest request
* @param HttpServletResponse response
* @return ActionForward
* @throws Exception
*/
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
throws Exception {
ActionForward resultat = null;
Ajouter_medecinForm aj_med = (Ajouter_medecinForm) form;
String nom = aj_med.getNom_medecin();
String prenom = aj_med.getPrenom_medecin();
MaRequeteUp req=new MaRequeteUp();
String nbmaj=req.ExecuterReq(nom,prenom);
if (nbmaj.equals("ok")) {
System.out.println("succes");
resultat = (mapping.findForward("succes"));
}
else
if(nbmaj.equals("no_ok")) {
System.out.println("echec");
resultat = (mapping.findForward("echec"));
}
return resultat;
}
}
/////////////////////////////////////////////
j arrive pas a enregistrer dans la base de données
le probleme est dans la methode executeUpdate()
merci d'avance..