[MySql] Ejb-ql et like

Ejb-ql et like [MySql] - SQL/NoSQL - Programmation

Marsh Posté le 13-02-2004 à 08:08:26    

Bonjour,  
Je cree une requete en java dans un ejb  
Donc le langage sql et le ejb-ql  
je voudrais faire une requete comme ceci  
Select * from machine where machine.libc like*param*;  
ou param est un parametres  
c'est pour trouver toutes les machines dont lbc contient param  
j'arrive a trouver toutes machine dont libc = param mais pas contient  
 
Me suis je bien expliquer???  
 
Aidez moii please

Reply

Marsh Posté le 13-02-2004 à 08:08:26   

Reply

Marsh Posté le 14-02-2004 à 17:09:20    

j'ai pas compris l'histoire du java mais en sql la requete c'est like '%param%'
dsl si je dis une connerie par rapport à ton pb

Reply

Marsh Posté le 14-02-2004 à 17:26:49    

Reply

Marsh Posté le 16-02-2004 à 16:39:42    

Salut
j'ai bien essaye mais ca ne marche pas  
lorsque je met des % dans ma requete ejb-ql elle plante et si je les met dans le parametres ma requete ne me renvoie rien
??
;-(
 
Aidez moi please

Reply

Marsh Posté le 16-02-2004 à 16:50:17    

montre ta requête ejb-ql et donne l'erreur, sinon comment veux-tu qu'on t'aide ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-02-2004 à 16:52:18    

je passe en parametre une chaine de caractere
par exemple ABC
et je voudrais toutes les machines contenant ABC dans le mLibc
mais il n'y pas d'erreur et il ne me renvoie rien
 
 
Voila ma requete
 

Code :
  1. <entity>
  2.       <ejb-name>MachineEjb</ejb-name>
  3.       <local-home>Machine.MachineLocalHome</local-home>
  4.       <local>Machine.MachineLocal</local>
  5.       <ejb-class>Machine.MachineLocalBean</ejb-class>
  6.       <persistence-type>Container</persistence-type>
  7.       <prim-key-class>java.lang.Long</prim-key-class>
  8.       <reentrant>false</reentrant>
  9.       <cmp-version>2.x</cmp-version>
  10.       <abstract-schema-name>machine</abstract-schema-name>
  11.    <cmp-field><field-name>mNum</field-name></cmp-field>
  12.       <cmp-field><field-name>mNoCli</field-name></cmp-field>
  13.       <cmp-field><field-name>mLibc</field-name></cmp-field>
  14.       <cmp-field><field-name>mCodl</field-name></cmp-field>
  15.       <cmp-field><field-name>mTraduc</field-name></cmp-field>
  16.       <cmp-field><field-name>mPas</field-name></cmp-field>
  17.       <cmp-field><field-name>mNbRp</field-name></cmp-field>
  18.       <cmp-field><field-name>mFamSfam</field-name></cmp-field>
  19.       <cmp-field><field-name>mTrait</field-name></cmp-field>
  20.       <cmp-field><field-name>mSens</field-name></cmp-field>
  21.       <cmp-field><field-name>mSa</field-name></cmp-field>
  22.       <cmp-field><field-name>mPays</field-name></cmp-field>
  23.       <cmp-field><field-name>mDatel</field-name></cmp-field>
  24.       <primkey-field>mNum</primkey-field>
  25.      
  26.       <query>
  27.         <query-method>
  28.           <method-name>findAll</method-name>
  29.           <method-params></method-params>
  30.         </query-method>
  31.         <ejb-ql><![CDATA[SELECT OBJECT(a) FROM machine AS a]]></ejb-ql>
  32.       </query>
  33.       
  34.        <query>
  35.         <query-method>
  36.           <method-name>findByMLibc</method-name>
  37.           <method-params>
  38.            <method-param>java.lang.String</method-param>
  39.           </method-params>
  40.         </query-method>
  41.         <ejb-ql><![CDATA[SELECT OBJECT(a) FROM machine AS a Where a.mLibc like ?1]]></ejb-ql>
  42.  
  43.       </query>
  44.       
  45.            
  46.       </entity>

Reply

Marsh Posté le 16-02-2004 à 18:23:49    

ca marche pas ca ? :  
 
SELECT OBJECT(a) FROM machine AS a Where a.mLibc like '%?1%'


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-02-2004 à 07:55:44    

Non ca ne marche pas et ca ne me mets aucun message d'erreur!!!!

Reply

Marsh Posté le 17-02-2004 à 08:22:23    

et  
 
SELECT OBJECT(a) FROM machine AS a Where a.mLibc like ?1
 
avec le paramêtre qui vaut "%unTtruc%", ca marche pas ?

Reply

Marsh Posté le 17-02-2004 à 09:44:20    

non plus malheureusement je ne sais plus quoi faire

Reply

Marsh Posté le 17-02-2004 à 09:44:20   

Reply

Marsh Posté le 17-02-2004 à 10:06:21    

là je sais pas non plus ... faudrait voir comment ca se apsse dans les preparedStatement, c'est surement pareil


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-02-2004 à 10:42:30    

En plus maintenant j'ai un autre probleme lorsque je veux executer mon jsp il me dit
 

Code :
  1. 2004-02-17 10:35:21,828 : JOnASMachineEjbBean.ejbStore : Impossible to store
  2. org.objectweb.jorm.api.PExceptionIO: Risk to loose modifications to class [Machine]: problematic SQL query -> {UPDATE MACHINE SET mFamSfam = ?, mDatel = ?, mNbRp = ?, mPas = ?, mPays = ?, mNoCli = ?, mSa = ?, mSens = ?, mNum = ?, mCodl = ?, mTrait = ?, mLibc = ?, mTraduc = ? WHERE mNum = ?}
  3. at jorm.rdb.mysql.MachineBinding.write(MachineBinding.java:152)


 
je ne trouve pas cette requete???  
du coup ca ne marche plus  
 
voila mon jsp

Code :
  1. <HTML>
  2. <TITLE>Essai pour les machines</TITLE>
  3. <HEAD>Machines Perrier</HEAD>
  4. <BODY>
  5. <%@page import="java.sql.*,Machine.*,javax.naming.*,java.util.*" %>
  6. <%
  7. try{
  8.  Context context = new InitialContext();
  9.  Object o = context.lookup("java:comp/env/ejb/MachineEjb" );
  10.  MachineLocalHome machineHome = (MachineLocalHome) o;
  11.  //MachineLocal m1 = machineHome.create(new Long(1255),"GCD" );
  12.  //MachineLocal m2 = machineHome.create(new Long(1260),"GCD1" );
  13.  //MachineLocal m3 = machineHome.create(new Long(1240),"GCD2" );
  14.  //MachineLocal m4 = machineHome.create(new Long(1265),"GCD" );
  15.  //MachineLocal m5 = machineHome.create(new Long(1232),"GCD1" );
  16.  //MachineLocal m6 = machineHome.create(new Long(1244),"GCD" );
  17.  Collection c  = machineHome.findByMLibc("E 16" );
  18.  MachineLocal mTest;
  19.  for(Iterator it = c.iterator();it.hasNext();)
  20.  {
  21.   mTest = (MachineLocal) it.next();
  22.   out.println("Machine : " + mTest.getMLibc()+ " <br>" );
  23.  }
  24. }
  25. catch(Exception e){
  26.  e.printStackTrace();
  27. }
  28. %>
  29. </BODY>
  30. </HTML>


Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed