Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1777 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  petit problème d'externalisation de requete en java

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

petit problème d'externalisation de requete en java

n°385529
tchoupinet​te
Posté le 07-05-2003 à 10:41:58  profilanswer
 

voila, je suis en train d'externaliser des requetes imbriquées dans du code java et y'en a une qui me pose un petit probème :
 

Code :
  1. StringBuffer query = new StringBuffer();
  2.             appendRoleChange(query, "radm", "usr_administrator" );
  3.             appendRoleChange(query, "rcre", "usr_creator" );
  4.             appendRoleChange(query, "rval", "usr_validator" );
  5.             appendRoleChange(query, "rpub", "usr_publisher" );
  6.             appendRoleChange(query, "rtra", "usr_translator" );
  7.             if (query.length() > 0) {
  8.                 query.insert(0, "update gko_user set " );
  9.                 query.append(" where usr_id=" ).append(user);
  10.                 if (conn.executeUpdate(query.toString()) != 1) throw new LocalizedUserException(this, "User_does_not_exist" );


 
J'ai déjà fait la classe qui externalise les select (c'était le plus simple) et ca marche comme ca :
 

Code :
  1. Map valeur=new HashMap();
  2.     Map type= new HashMap();
  3.     List list= new ArrayList();
  4.     String a="";
  5.     String b="";
  6.    
  7.     public KPreparedStatement stat;
  8.     public KDataSet set;
  9.    
  10.     public GeckoSelect(String s) throws Exception{
  11.      
  12.         StringTokenizer st = new StringTokenizer(s,"#",false);
  13.            
  14.         while(st.hasMoreElements()) {
  15.             a=st.nextToken();
  16.             b=b+a;
  17.             if(st.hasMoreElements()){
  18.                 a=st.nextToken();
  19.                 b=b+'?';
  20.                 list.add(a);
  21.                 valeur.put(a,null);
  22.             }
  23.                          
  24.         }
  25.      } 
  26.   public void executeRequete(KConnection conn)throws Exception{
  27.         set=new KDataSet();
  28.         stat = conn.createPreparedStatement();
  29.         stat.setOut(true);
  30.         stat.setSql(b);
  31.              
  32.        
  33.         for(int i=0; i<list.size(); i++){
  34.             stat.addParameter(KDataSet.DATA_INTEGER);
  35.         }
  36.         for(int i=0; i<list.size(); i++){
  37.             stat.setInteger(i,(Integer)valeur.get(list.get(i)));
  38.         }
  39.        
  40.         stat.executeQuery(set);
  41.        
  42.     }


 
 
la string passer un paramètre dans le constructeur est la requete écrite de cette facon : "select bidule from machin where truc=#TRUC#";
 
Je voudrais que ca marche à peu pres pareil pour les update mais celui que j'ai donné plus haut me pose problème donc si quelqu'un a une idée pour me mettre sur la voie ce serait cool ...
 


---------------
http://membres.lycos.fr/axelfa
mood
Publicité
Posté le 07-05-2003 à 10:41:58  profilanswer
 

n°385613
tchoupinet​te
Posté le 07-05-2003 à 11:25:20  profilanswer
 

Y'a donc personne pour m'aider ????  :cry:


---------------
http://membres.lycos.fr/axelfa
n°385653
nero27
Posté le 07-05-2003 à 11:40:03  profilanswer
 

[:denetrob]

n°385705
darklord
You're welcome
Posté le 07-05-2003 à 12:08:53  profilanswer
 

c'est quoi ta question? :/


---------------
Just because you feel good does not make you right
n°385794
tchoupinet​te
Posté le 07-05-2003 à 13:20:56  profilanswer
 

bah en fait je sais pas trop si tu as compris ce que je devais faire déjà. Je vais essayé de m'expliquer (j'ai toujours un peu de mal à m'expliquer  :sarcastic: ) :
 
Alors en fait y'a plein de requete imbriquées dans le code Java directement et moi il faut que je fasse plein de classe Java qui gère toutes ces requetes pour qu'elles ne soient plus n'importe ou dans le code.
Donc en fait ma classe GeckoSelect gère les requete select elle prend en paramètre la requete sous forme de String la modifie un peu puis l'execute...
Il faut que je fasse pareil pour les update, insert, etc.. Mais la requete update que j'ai donné me pose quelques problèmes car elle utilise d'autres fonction qu'un executeUpdtate ou executeQuery et donc du coup je ne peux pas gérer ca de la meme facon que j'ai gérer les select.
 
Le problème est donc que je ne sais pas trop comment faire pour les update ...
Je ne sais pas si c'est vraiment plus clair mais vu que ce n'est pas déjà tres clair dans ma tete c'est pas tres facile à expliquer.
 
Si quelqu'un a compris quelque chose à mon explication et qu'il a une idée ben je l'écoute ...


---------------
http://membres.lycos.fr/axelfa
n°385801
polo021
Posté le 07-05-2003 à 13:24:21  profilanswer
 

et si tu ajoutes des parametres a tes fonctions selon tes besoins? :??:

n°385807
tchoupinet​te
Posté le 07-05-2003 à 13:27:51  profilanswer
 

polo021 a écrit :

et si tu ajoutes des parametres a tes fonctions selon tes besoins? :??:  


 
je ne comprends pas trop ce que tu essaies de me dire là ?²


Message édité par tchoupinette le 07-05-2003 à 13:28:05

---------------
http://membres.lycos.fr/axelfa
n°385863
polo021
Posté le 07-05-2003 à 13:57:04  profilanswer
 

Citation :

Mais la requete update que j'ai donné me pose quelques problèmes car elle utilise d'autres fonction qu'un executeUpdtate ou executeQuery et donc du coup je ne peux pas gérer ca de la meme facon que j'ai gérer les select.


 
ben si j'ai bien compris, tu creees une classe pour les insert, une pour les select, une pour les update,....
Alors si dans ta classe tu creees des fonctions qui prennent en parametres les differeents parametres (en plus de la string pour la requete) dont tu as besoin et que tu traites et executes ta requete dans cette fonction, ca n'irait pas?
 
Les parametres supplementaires dont je parle correspondent aux infos que les autres fonctions ont besoin
 
 
 
Mais bon je suis pas trop sur d'avoir compris ce que tu demandes...[:spamafote]

n°385866
tchoupinet​te
Posté le 07-05-2003 à 13:58:14  profilanswer
 

oh bah je crois que je vais passer à autre chose et attendre que mon maitre de stage revienne de ses vacances pour lui demander comment faire ...


---------------
http://membres.lycos.fr/axelfa
n°385886
benou
Posté le 07-05-2003 à 14:05:00  profilanswer
 

moi j'ai jamais compris pkoi tu te servais pas betement des PreparedStatement. Ca correspond exactement à tes besoins ...
 
c'est quoi l'intérêt de coder les requête avec des #truc# dedans à la place des '?' ?
 
A part le fait que tu peux passer les valeurs de ta requêtes de façon non-ordonné ...
 
et c'est quoi le problème des update par rapprt au select ?
 
si tu as déjà fait la mécanique pour les select, les update & Co c'est pareil, nan ? T'as juste une autre méthode à appeler pour executer la requête ...
 
bref, comme dark : c'est quoi ta question  :??:


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 07-05-2003 à 14:05:00  profilanswer
 

n°385892
tchoupinet​te
Posté le 07-05-2003 à 14:06:19  profilanswer
 

cf la requete que j'ai donné au dessus ...


---------------
http://membres.lycos.fr/axelfa
n°385898
benou
Posté le 07-05-2003 à 14:08:45  profilanswer
 

Tchoupinette a écrit :

cf la requete que j'ai donné au dessus ...


 :??:  :??:  :??:  
 
Soit plus claire, parce que là on capte rien !


---------------
ma vie, mon oeuvre - HomePlayer
n°385900
tchoupinet​te
Posté le 07-05-2003 à 14:09:41  profilanswer
 

benou a écrit :


 :??:  :??:  :??:  
 
Soit plus claire, parce que là on capte rien !


 
j'abandonne de toute manière, je verrai ca plus tard, j'ai pas envi de me prendre la tete avec ca pour le moment ...


---------------
http://membres.lycos.fr/axelfa

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  petit problème d'externalisation de requete en java

 

Sujets relatifs
[JAVA] Comment transformer un InputStream ?Tout petit pb en html et java applet
probleme avec FPDFProblème vec la fonction mail....
[JAVA] Port Paralléle [Résolu]problème de droit avec Apache et Tomcat
quel est le jeu le plus simple a programmer en javaprobleme applet java (menu interractif) sous netscape
Plus de sujets relatifs à : petit problème d'externalisation de requete en java


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR