recevoir xml avec une valeur nulle quand il est en fait nulle
Question
Je l'exécution d'une procédure stockée sur le serveur SQL 2005 de LiveCycle ES 8.2
le retour de résultat quelque chose comme
<Table>
<Row>
<ID>1</ID>
<EN_Cd>EN</EN_Cd>
<FR_Cd>null</FR_Cd>
<EN_Nm>English</EN_Nm>
<FR_Nm>Anglais</FR_Nm>
<EN_Shrt_Dscrptn>null</EN_Shrt_Dscrptn>
<FR_Shrt_Dscrptn>null</FR_Shrt_Dscrptn>
</Row>
</Table>
Je suis en train de comprendre pourquoi le mot « nul » est mis dans le résultat.
Même avec le type xs: int il retourne le mot "null"
est-il quelque chose dans le jdbc ou livecycle qui peut résoudre ce problème?
la procédure stockée est simple
select id, en_cd, fr_cd,
en_nm, fr_nm,
en_shrt_dscrptn, fr_shrt_dscrptn
from language
fr_nm, en_shrt_dscrptn, fr_shrt_dscrptn sont nuls dans la base de données, ils ne contiennent pas la valeur "null".
La solution
Essayez d'utiliser la fonction COALESCE () pour convertir les valeurs NULL chaînes vides, comme ceci:
select id,
coalesce(en_cd,''),
coalesce(fr_cd,''),
coalesce(en_nm,''),
coalesce(fr_nm,''),
coalesce(en_shrt_dscrptn,''),
coalesce(fr_shrt_dscrptn,'')
from language
Vous pouvez étudier comment la conversion en XML se passe, et voir s'il y a un moyen de spécifier les options de traitement null il.
Autres conseils
vous pouvez utiliser une transformation XSLT pour enlever le NULL à partir du contenu des noeuds. vérifier mes questions pour une explication plus loin que