BlaBlaTech@JAVA [ELITE, viendez les boobs]

BlaBlaTech@JAVA [ELITE, viendez les boobs] - Java - Programmation

Marsh Posté le 02-06-2004 à 17:24:04    

Salut à tous.
 
 
Ici ça sera le bistrot-geek de java, là où on pose pas de vraies questions, mais où on discute de choses techniques et du cul de la serveusee la meilleure manière de faire telle ou telle action, de ce qu'on découvre de marrant ou d'intéressant. Et des petites questions à la cons.
 
 
En espérant que les modos ferment pas.
 
 
en résumé :
- uniquement du java
- pas un vrai blabla
- du technique
- pas de vraies questions

Message cité 2 fois
Message édité par nraynaud le 23-05-2007 à 14:10:33

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 17:24:04   

Reply

Marsh Posté le 02-06-2004 à 17:26:56    

hop crosspost from blabla :
 

Code :
  1. public void store(CustomerBean ejb) throws EJBException {
  2.         Connection c = null;
  3.         PreparedStatement ps = null;
  4.         ResultSet rs = null;
  5.         try {
  6.             c = jdbcFactory.getConnection();
  7.             ps = c
  8.                     .prepareStatement("update customer set userid=?, firstname=?,"
  9.                             + " latsname=?,address=?, phone=?, shareholder_stat=? "
  10.                             + "where customerid=?" );
  11.             ps.setString(1, ejb.getUserID());
  12.             ps.setString(2, ejb.getFirstName());
  13.             ps.setString(3, ejb.getLastName());
  14.             ps.setString(4, ejb.getAddress());
  15.             ps.setString(5, ejb.getPhone());
  16.             ps.setString(6, ejb.getShareholderStatus());
  17.             ps.setString(7, ejb.getCustomerID());
  18.             ps.executeUpdate();
  19.         } catch (SQLException e) {
  20.             e.printStackTrace();
  21.         } finally {
  22.             try {
  23.                 ps.close();
  24.                 rs.close();
  25.                 c.close();
  26.             } catch (SQLException e) {
  27.                 e.printStackTrace();
  28.             }
  29.         }
  30.     }


bien essayé le try/finally, mais c'est pas ça !
 
à propos les javateux, vous les faites correctements vos try/finally sur les bdd ou vous laissez tomber comme le code d'au-dessus ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 17:27:26    

re-crosspost :

R3g a écrit :

C'est quoi exactement le problème là pour toi ? Parce que moi je vois surtout que rs est encore null dans le finally, et qu'il catche les même exceptions et fait le même traitement dans les deux catch.
Maintenant vu qu'il est toujours recommandé de fermer ce qui a été ouvert, moi dans le finally je mets des trucs genre  

Code :
  1. finally {
  2.     try{ rs.close(); } catch.....
  3.     try{ ps.close(); } catch.....
  4.     try{ c.close(); } catch....
  5. }


Mais quelque chose me dit que c'est pas ça que tu voulais dire par "faire correctement les try/finally".

heu le rs, c'est de ma faute, étourderie.
 
quand on ouvre des ressources récursivement, c'est la misère, il faut emboiter les try/catch, sinon il seront pas refermés corectement à la sortie. Sauf que la règle habituelle veut que si l'ouverture a foiré, on le ferme pas (logique).
 
je déplace le vrai try/catch, pour simplifier :

Code :
  1. public void store(CustomerBean ejb) throws EJBException {
  2.         try {
  3.             Connection c = jdbcFactory.getConnection();
  4.             try {
  5.                 PreparedStatement ps = c
  6.                         .prepareStatement("update customer set userid=?, firstname=?,"
  7.                                 + " latsname=?,address=?, phone=?, shareholder_stat=? "
  8.                                 + "where customerid=?" );
  9.                 try {
  10.                     ps.setString(1, ejb.getUserID());
  11.                     ps.setString(2, ejb.getFirstName());
  12.                     ps.setString(3, ejb.getLastName());
  13.                     ps.setString(4, ejb.getAddress());
  14.                     ps.setString(5, ejb.getPhone());
  15.                     ps.setString(6, ejb.getShareholderStatus());
  16.                     ps.setString(7, ejb.getCustomerID());
  17.                     ps.executeUpdate();
  18.                 } finally {
  19.                     ps.close();
  20.                 }
  21.             } finally {
  22.                 c.close();
  23.             }
  24.         } catch (SQLException e) {
  25.             e.printStackTrace();
  26.         }
  27.     }


 
ce qui est quand même un beau bordel.
 
évidement, il faut remonter la SQLException, mais j'ai pas encore étudié comment il faut la wrapper dans l'EJBException (et je vais pas le faire tout-de-suite).


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 17:37:47    

[:blueflag]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 17:53:51    

bon ben crosspost alors [:dawa]
.........................................
dites les moules, j'ai une ligne de commandes comme ca:


/usr/local/apps/gamess/rungms /home/y****/Gamess/input/java.inp > /home/y****/Gamess/input/java.log 2>&1


ca marche bien :)
 
je veux maintenant l'appeler a partir de java:

Code :
  1. try{
  2.     String cmd = "/usr/local/apps/gamess/rungms /home/y****/Gamess/input/java.inp > /home/y****/Gamess/input/java.log 2>&1";
  3.     System.out.println(cmd);
  4.     Process child = Runtime.getRuntime().exec(cmd);
  5.     InputStream in = child.getInputStream();
  6.     int i;
  7.     while ((i = in.read()) != -1) {
  8.           System.out.print((char)i);
  9.     }
  10.     in.close();
  11.     try {
  12.           child.waitFor();
  13.     } catch (InterruptedException e) {
  14.           e.printStackTrace();
  15.     }
  16.     System.out.println("runGamess exited with " + child.exitValue());
  17.     } catch (IOException ioe) {
  18.           ioe.printStackTrace();
  19.     }


 
et la, le script rungms est bien appele, mais ca ne fonctionne pas, il s'arrete avant la fin du processus, j'ai oublie un truc :??:
 
edit: pour le buffer tout ca, je sais c'est le reste qui est important, et pour l'indentation, c'est copier/coller depuis vi :O


Message édité par uriel le 10-11-2004 à 13:42:02

---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 17:55:23    

ben c'est tes > qui foutent la merde à tous les coup


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 17:56:59    

the real moins moins a écrit :

ben c'est tes > qui foutent la merde à tous les coup


 
en quoi? la redirection fonctionne en ligne de commande, pourquoi pas dans un String ?


---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 17:57:31    

parce que c'est ton shell qui gere ça, pas ton os :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 17:58:59    

the real moins moins a écrit :

parce que c'est ton shell qui gere ça, pas ton os :??:


 
[:meganne] alors le "Runtime.getRuntime().exec(cmd)" est pas gerer pr l'OS ??
deja le "2>&1" a la fin, c'est du bash, ca peut sans doute foutre la merde... vais tester avec un bete ls et un >


---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 18:00:45    

ptain jte parle de la redirection qu'est pas gérée par ton os !


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:00:45   

Reply

Marsh Posté le 02-06-2004 à 18:01:21    

dans le fond j'en sais rien, mais c'est une grosse suggestion.
pis t'as largement de quoi faire la redirection en java, plus proprement qu'avec ses poullasseries de > & etc


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:02:39    

PUTAIN ILS VONT SE D2CIDER A PRENDRE MES MESSAGES SES FOUTUS MDB DE MERDE :fou:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:03:10    

the real moins moins a écrit :

dans le fond j'en sais rien, mais c'est une grosse suggestion.
pis t'as largement de quoi faire la redirection en java, plus proprement qu'avec ses poullasseries de > & etc


 
t'enerve pas biquet [:itm]
sinon pour la redirection ok, mais le fait est que le script rungms fonctionne comme ca, si je lui donne pas d'arguments comme la, ca plante  [:spamafote]


---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 18:04:28    

raaah :fou:
mais quel rapport entre tes redirections et ton argument!! :fou:
 
et exec prend aussi un String[], voit si c pas fait pour passer des arguments, justement.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:05:57    

je contiue :
 
cette manière de faire, veut dire qu'on ne peut pas faire une méthode prepareStatement(String) qui ouvrirait la connection et préparerait la chose passée en paramètre (et le closeBidule() correspondant) car il serait automatiquement fermé à la sortie de la fonction. Mais on a bien envie de fatoriser cette merde.
 
c'est là qu'intervient la programmation fonctionnelle : on va utiliser le style passage par continuation (CPS).
 
passer une continuation, c'est passer une expression qui sera exécutée après la méthode qu'on appelle.
 
en gros on va faire :
executeUnTruc(executeCaEnsuite);
 
car si c'est la fonction de préparation elle-même qui fait l'exécution, ellepeut le faire dans le try/finally le plus interne (au bon endroit quoi)
 
bon vous avez rien compris, mais voici le code de la fonction d'au-dessus en CPS (continuation passing style) :

Code :
  1. public void store(final CustomerBean ejb) throws EJBException {
  2.         try {
  3.             String statement = "update customer set userid=?, firstname=?,"
  4.                                         + " latsname=?,address=?, phone=?, shareholder_stat=? "
  5.                                         + "where customerid=?";
  6.             SQLWork w = new SQLWork() {
  7.                 public Object work(PreparedStatement ps) throws SQLException {
  8.                     ps.setString(1, ejb.getUserID());
  9.                     ps.setString(2, ejb.getFirstName());
  10.                     ps.setString(3, ejb.getLastName());
  11.                     ps.setString(4, ejb.getAddress());
  12.                     ps.setString(5, ejb.getPhone());
  13.                     ps.setString(6, ejb.getShareholderStatus());
  14.                     ps.setString(7, ejb.getCustomerID());
  15.                     ps.executeUpdate();
  16.                     return null;
  17.                 }
  18.             };
  19.             sqlWork(w, statement);
  20.         } catch (SQLException e) {
  21.             e.printStackTrace();
  22.         }
  23.     }
  24.     private Object sqlWork(SQLWork work, String statement) throws SQLException {
  25.         Connection c = jdbcFactory.getConnection();
  26.         try {
  27.             PreparedStatement ps = c.prepareStatement(statement);
  28.             try {
  29.                 // on appelle la suite des évènements.
  30.                 return work.work(ps);
  31.             } finally {
  32.                 ps.close();
  33.             }
  34.         } finally {
  35.             c.close();
  36.         }
  37.     }
  38.     private interface SQLWork {
  39.         // la suite des évènements.
  40.         Object work(PreparedStatement ps) throws SQLException;
  41.     }


 
le Object comme valeur de retour est malheureusement nécessaire, dans une chaine d'appel par continuation, toutes les fonctions de la chaine doivent avoir la même valeur de retour (car la valeur de retour de la dernière continuation va revenir par tous les "return" de la chaine).
Avec les generics, ça devrait aller mieux.
 
comme l'appel de la continuation est terminal, il est théoriquement optimisable, mais avec les finally, il est plus terminal.
 
on notera que les exceptions continuent d'arriver au bon endroit et que le bouffage dégueulasse a toujours lieu.
 
edit : merde, j'ai trashé mon statement sql par erreur, heureusement que je l'avais posté ici !


Message édité par nraynaud le 02-06-2004 à 18:13:26

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 18:07:42    

the real moins moins a écrit :

raaah :fou:
mais quel rapport entre tes redirections et ton argument!! :fou:
 
et exec prend aussi un String[], voit si c pas fait pour passer des arguments, justement.


 
vais voir ca :jap:  mais calme toi quand meme [:skeye]


---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 18:12:35    

nan me calme pas :fou: ça fait des heures que j'essaie de capter pourquoi mes messages sont pas processés et ça fait chier la bite :fou:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:15:32    

the real moins moins a écrit :

nan me calme pas :fou: ça fait des heures que j'essaie de capter pourquoi mes messages sont pas processés et ça fait chier la bite :fou:


 
t'es sûr de bien catcher tes exceptions en static overflow jdbcFactory.getConnection() ? [:tinostar]  
 
 
 
 
 [:simogeo]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-06-2004 à 18:15:35    

the real moins moins a écrit :

nan me calme pas :fou: ça fait des heures que j'essaie de capter pourquoi mes messages sont pas processés et ça fait chier la bite :fou:


 
ben trouves toi un stagiaire, je suis pas ton souffre douleur [:itm]


---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 18:17:18    

uriel a écrit :

ben trouves toi un stagiaire, je suis pas ton souffre douleur [:itm]

je vais peut-être retirer mon CV de ses mains moi ...


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 18:25:51    

[:ddr555]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:26:16    

nraynaud a écrit :

hop crosspost from blabla :
à propos les javateux, vous les faites correctements vos try/finally sur les bdd ou vous laissez tomber comme le code d'au-dessus ?


 
pkoi pas ca :  
 

Code :
  1. public void store(CustomerBean ejb) throws EJBException {
  2.         Connection c = null;
  3.         PreparedStatement ps = null;
  4.         try {
  5.             Connection c = jdbcFactory.getConnection();
  6.             PreparedStatement ps = c
  7.                     .prepareStatement("update customer set userid=?, firstname=?,"
  8.                             + " latsname=?,address=?, phone=?, shareholder_stat=? "
  9.                             + "where customerid=?" );
  10.             ps.setString(1, ejb.getUserID());
  11.             ps.setString(2, ejb.getFirstName());
  12.             ps.setString(3, ejb.getLastName());
  13.             ps.setString(4, ejb.getAddress());
  14.             ps.setString(5, ejb.getPhone());
  15.             ps.setString(6, ejb.getShareholderStatus());
  16.             ps.setString(7, ejb.getCustomerID());
  17.             ps.executeUpdate();
  18.         } catch (SQLException e) {
  19.             e.printStackTrace();
  20.         } finally {
  21.             JDBCUtils.closeLeBordel(ps, c);
  22.         }
  23.     }


avec une méthode close le bordel qui close en try-catchant correctement ?


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

Marsh Posté le 02-06-2004 à 18:26:58    

[:mlc] [:totoz] :(


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 18:34:06    

benou a écrit :

pkoi pas ca :  
 

Code :
  1. public void store(CustomerBean ejb) throws EJBException {
  2.         Connection c = null;
  3.         PreparedStatement ps = null;
  4.         try {
  5.             Connection c = jdbcFactory.getConnection();
  6.             PreparedStatement ps = c
  7.                     .prepareStatement("update customer set userid=?, firstname=?,"
  8.                             + " latsname=?,address=?, phone=?, shareholder_stat=? "
  9.                             + "where customerid=?" );
  10.             ps.setString(1, ejb.getUserID());
  11.             ps.setString(2, ejb.getFirstName());
  12.             ps.setString(3, ejb.getLastName());
  13.             ps.setString(4, ejb.getAddress());
  14.             ps.setString(5, ejb.getPhone());
  15.             ps.setString(6, ejb.getShareholderStatus());
  16.             ps.setString(7, ejb.getCustomerID());
  17.             ps.executeUpdate();
  18.         } catch (SQLException e) {
  19.             e.printStackTrace();
  20.         } finally {
  21.             JDBCUtils.closeLeBordel(ps, c);
  22.         }
  23.     }


avec une méthode close le bordel qui close en try-catchant correctement ?


techniquement, je vois pas de pb. si closeLeBordel est isolé-lui même correctement (c'est-à-dire les closes isolés les uns des autres).
 
 
Mais alors sémantiquement ! les ouvertures et fermetures de ressources qui sont pas en paires, choisir de tenter de fermer sur une valeur nulle ou pas, devoir "faire attention" (à pas mettre à null le bidule). Je suis pas pour du tout.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 18:42:20    

nraynaud a écrit :

Mais alors sémantiquement ! (1)les ouvertures et fermetures de ressources qui sont pas en paires, (2)choisir de tenter de fermer sur une valeur nulle ou pas, (3)devoir "faire attention" (à pas mettre à null le bidule). Je suis pas pour du tout.


1) j'ai pas bien compris ... Tu veux dire que le close n'est pas fait là où est ouvert (ou plutot accédé : y a pas de open ...) l'objet. Je vois pas trop le problème ... la méthode utilitaire peut porter un nom explicite genre closeAll() ... on comprend que ca va closer, quoi ...
 
2) la méthode testera si c'est null avant de tenter un close dessus bien sûr ...
 
3) j'ai pas compris  :(


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

Marsh Posté le 02-06-2004 à 18:50:29    

benou a écrit :

1) j'ai pas bien compris ... Tu veux dire que le close n'est pas fait là où est ouvert (ou plutot accédé : y a pas de open ...) l'objet. Je vois pas trop le problème ... la méthode utilitaire peut porter un nom explicite genre closeAll() ... on comprend que ca va closer, quoi ...
 
2) la méthode testera si c'est null avant de tenter un close dessus bien sûr ...
 
3) j'ai pas compris  :(

oui, on est d'accord sur tous les points techniques.
 
Je sais pas, ça m'enchante pas, c'est la philosophie du truc qui me plait pas. Je dirais "trop fragile", mais c'est assez difficile à expliquer comme critère. je suis plus pour les choses qui fonctionnent "par construction".
 
Mais techniquement ça marche, avec un closeAll() bien écrit.
 
 
edit : et pourtant, je suis attaché aux performances et ton truc est plus performant que le mien.


Message édité par nraynaud le 02-06-2004 à 18:53:54

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 19:07:44    

uriel > essaie d'appeler bash tacommande dans ta String, tu verras bien si c'est un problème du shell. Ensuite tu pourras essayer de refaire ça proprement avec les paramètres comme il faut et les redirections gérées par ton programme.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 02-06-2004 à 19:24:25    

http://www.tusc.com.au/tutorial/images/chap5/CustomerDAOImplFindBy.png
 
y'a quelqu'un pour m'expliquer l'intérêt de cette fonction svp ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 19:26:43    

nraynaud a écrit :

http://www.tusc.com.au/tutorial/im [...] FindBy.png
 
y'a quelqu'un pour m'expliquer l'intérêt de cette fonction svp ?


vérifier la présence d'un client en base à partir de son id [:spamafote]


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

Marsh Posté le 02-06-2004 à 19:27:06    

mais qu'est-ce que tu lis toi? un tuto sur ejb0.1 ou quoi ?
ça n'as pas d'interet, tu fais home.findByPrimary(pk) et hop, tu trashes cette connerie.
 
ha et puis superbe, j'avais pas vu ce que la methode retournait.  


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 19:27:34    


c'est quoi que tu aimais pas dans ce que j'avais écrit au fait ?


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

Marsh Posté le 02-06-2004 à 19:29:29    

benou a écrit :

vérifier la présence d'un client en base à partir de son id [:spamafote]

ok, merci.
 
 
et elle est utilisée dans quel cas ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 19:40:20    

benou a écrit :

c'est quoi que tu aimais pas dans ce que j'avais écrit au fait ?

static [:totoz]
et que ce n'est jamais que "cacher" le problème de faire ça, alors qu'il serait plus sain d'extraire toute la logique du bordel (pas seulement la fermeture) dans un objet à part entiere


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 19:42:11    

the real moins moins a écrit :

mais qu'est-ce que tu lis toi? un tuto sur ejb0.1 ou quoi ?
ça n'as pas d'interet, tu fais home.findByPrimary(pk) et hop, tu trashes cette connerie.
 
ha et puis superbe, j'avais pas vu ce que la methode retournait.

je sais pas moi j'ai trouvé ça sur le net, c'était ni du pron, ni du pédophile ni du néonazi, alors j'ai pris.
 
ça cause de J2EE, de lomboz, et de jboss, tout ce qui m'intéresse.
http://www.tusc.com.au/tutorial/html/index.html
 
 
mon bouquin est sensé arriver demain puisque je l'ai raté aujourd'hui.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 19:43:56    

nraynaud a écrit :

et elle est utilisée dans quel cas ?


ben j'en sais rien moi ... pour vérifier que l'objet passé en paramêtre est persistent par exemple ...
 
mais bon, pour moi c'est une méthode à la con.


Message édité par benou le 02-06-2004 à 19:44:19

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

Marsh Posté le 02-06-2004 à 19:45:45    

the real moins moins a écrit :

static [:totoz]
et que ce n'est jamais que "cacher" le problème de faire ça, alors qu'il serait plus sain d'extraire toute la logique du bordel (pas seulement la fermeture) dans un objet à part entiere


et alors ? ton objet à part entière faudra bien qu'il les fasses les close ... et qu'est ce qi te fait dire qu'on est pas dans cet objet ?
 
et je vois pas le problème de la méthode static. C'est utile pour ce genre de méthode utilitaire ...


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

Marsh Posté le 02-06-2004 à 19:48:36    

R3g a écrit :

uriel > essaie d'appeler bash tacommande dans ta String, tu verras bien si c'est un problème du shell. Ensuite tu pourras essayer de refaire ça proprement avec les paramètres comme il faut et les redirections gérées par ton programme.


 
en precisant le type de shell ca fonctionne  :whistle:  
 
  donc j'ai rajoute un petit morceaux pour reconnaitre l'OS et plop j'ajoute /bin/sh si besoin (linux/darwin) ou cmd.exe pour windows, en tout cas sur Linux, ca roule, vais tester sur mac
 
edit: donc merci :D :jap:


Message édité par uriel le 02-06-2004 à 19:49:56

---------------
IVG en france
Reply

Marsh Posté le 02-06-2004 à 19:49:04    

t'es pas non plus obligé de te sentir agressé et d'etre aggressif en retour parce que je critique tes methodes de merde hein [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-06-2004 à 20:03:15    

hep, je risque des grosses surprises à utiliser systématiquement setObject(int, Object) de preparedStatements ?
 
J'ai été voir la spec ( https://jsecom16.sun.com/ECom/EComA [...] 2c1d592e71 p 181 ) et j'y vois pas de piège à con.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-06-2004 à 20:08:31    

[:linouille]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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