ExecuteUpdate

zenouba2005 Messages postés 24 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 6 mars 2006 - 14 nov. 2005 à 02:19
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 - 14 nov. 2005 à 09:25
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;







}






}



/////////////////////////////////////////////

merci d'avance..

2 réponses

zenouba2005 Messages postés 24 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 6 mars 2006
14 nov. 2005 à 02:23
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..
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
14 nov. 2005 à 09:25
Hello en effet je ne vois pas trop ce qui peut clocher ...
Vérifie bien que tes valeurs sont correctes et que tu n'as pas de message d'erreur...
sinon tu peux toujours essayer de faire this.MaConnexion.getCon().commit() après ton executeUpdate.
Sinon il y a aussi la possibilité de tes driver JDBC qui ne sont peut-être pas bons.
0
Rejoignez-nous