Problème de paramètres Java en SQLJ (JDBC)

Problème de paramètres Java en SQLJ (JDBC) - SQL/NoSQL - Programmation

Marsh Posté le 29-05-2017 à 15:42:38    

Bonjour à tous,  
 
J'ai un problème assez étrange en SQLJ (Un truc qui génère du JDBC), avec une base DB2. J'ai besoin de faire ça :
 

Code :
  1. and T3.CTSCO = (case T2.CTSGRI
  2.     when '1' then '20'
  3.     when '2' then '21'
  4.   end)


 
Si je l'écris tel quel, cela fonctionne.
 
Maintenant, j'aurais besoin que les 4 chaines de caractères soient des paramètres côté Java :  

Code :
  1. and T3.CTSCO = (case T2.CTSGRI
  2.     when :CONST1 then :CONST1BIS
  3.     when :CONST2 then :CONST2BIS
  4.   end)


 
Et là ça plante, j'ai une erreur SQL -418 (A STATEMENT STRING TO BE PREPARED CONTAINS AN INVALID USE OF PARAMETER MARKERS
-419).
 
Là où ça devient TRÈS étrange, c'est que ces deux écritures FONCTIONNENT toutes les deux :  
 

Code :
  1. and T3.CTSCO = (case T2.CTSGRI
  2.     when :CONST1 then '20'
  3.     when :CONST2 then :CONST2BIS
  4.   end)


Code :
  1. and T3.CTSCO = (case T2.CTSGRI
  2.     when :CONST1 then :CONST1BIS
  3.     when :CONST2 then '21'
  4.   end)


 
Et là je ne comprends plus rien : Je peux paramétrer un then ou le second, mais pas les deux en même temps   :??:  :heink:  
 
Merci d'avance si vous avez des idées…


Message édité par zerist le 29-05-2017 à 15:43:32

---------------
https://www.flickr.com/photos/182924845@N04/
Reply

Marsh Posté le 29-05-2017 à 15:42:38   

Reply

Sujets relatifs:

Leave a Replay

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