Problème avec des " lors de la transformation du résultat

Problème avec des " lors de la transformation du résultat - SQL/NoSQL - Programmation

Marsh Posté le 27-07-2006 à 15:14:28    

Bonjour,
J'ai un problème lorsque je transforme mon buffer, issue d'un SELECT, par un FOR XML EXPLICIT. En effet cette transformation change tous mes " en "   :??:  
 
par exemple :
 
SELECT 1 as tag,
null as parent,
'Y" No="N' as [data!1!Yes]
 
FOR XML EXPLICIT
 
donne :
<data Yes="Y&quot; No=&quot;N"/>
 
Si je remplace les " par des &quot; les résultat est le suivant : <data Yes="Y&amp;quot; No=&amp;quot;N"/>
 
Pouvez-vous m'aider et m'expliquer comment conserver un buffer qui donnerait un résultat comme ça <data Yes="Y" No="N"/> , sans faire un :
 
SELECT 1 as tag,
null as parent,
'Y' as [data!1!Yes],
'N' as [data!1!No]

Reply

Marsh Posté le 27-07-2006 à 15:14:28   

Reply

Marsh Posté le 27-07-2006 à 15:25:54    

EDIT :j'ai dit une connerie


Message édité par betsamee le 27-07-2006 à 15:26:41
Reply

Marsh Posté le 27-07-2006 à 15:27:24    

zoull > t'as pas d'autre solution que de faire de la façon que tu ne veux pas faire

Reply

Marsh Posté le 27-07-2006 à 16:33:28    

Et bien l'autre solution pour ce que je veux faire serait de ne pas faire apparaitre des informations selon certains résultat de test, comme par exemple :
 
SELECT 1 as tag,
null as parent,
dbo.nom_fonction(NOM_TABLE.NOM, 0) as [info!1!image],
dbo.nom_fonction(NOM_TABLE.NOM, 1) as [info!1!nom]
FROM NOM_TABLE
FOR XML EXPLICIT
 
Dans le cas ou la fonction (avec comme parametre '0') renvoi 'Y' le résultat serais comme cela :
<info image="Y" nom="image.jpg"/>
 
Dans le cas ou la fonction renvoi 'N' le résultat serais comme suit :
<info image="N"/>   (et donc faire disparaitre le [info!1!nom] )
 
Mais comme je ne sais pas le faire, ou si cela est possible, donc j'essaye de passer toute la chaine de caractères dans la réponse, pour que la fonction renvoi soit 'Y" nom="image.jpg' soit : 'N' , et la je tombe sur le problème des &quot;

Reply

Marsh Posté le 27-07-2006 à 16:54:02    

d'après mes tests, si tu mets "null" à la place du nom de l'image, alors l'attribut n'est pas créé

Reply

Marsh Posté le 27-07-2006 à 16:57:39    

donc :
 
à la place du champ "nom" tu mets :
 
case image when 'Y' then nom when 'N' then null end as [info!1!nom]

Reply

Marsh Posté le 27-07-2006 à 17:22:32    

Oui excelent  :bounce: , je vais modifier ma procédure pour la faire fonctionner comme cela.
 
Merci beaucoup pour ton aide.

Reply

Sujets relatifs:

Leave a Replay

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