Pregunta

Estoy ejecución de un procedimiento almacenado en SQL Server 2005 desde es LiveCycle 8.2

el retorno resultado algo así como

<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>

Estoy tratando de averiguar por qué la palabra "nulo" se pone en el resultado.

A pesar de tipo xs: int que devuelve la palabra "nulo"

¿hay algo en el JDBC o LiveCycle que puede solucionar este problema?

el procedimiento almacenado es un 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 son nulos en la base de datos, que no contienen el valor "nulo".

¿Fue útil?

Solución

Trate de usar la función de coalescencia () para convertir por nulos para vaciar las cadenas, así:

select id, 
      coalesce(en_cd,''), 
      coalesce(fr_cd,''), 
      coalesce(en_nm,''), 
      coalesce(fr_nm,''),
      coalesce(en_shrt_dscrptn,''), 
      coalesce(fr_shrt_dscrptn,'') 
from language

Como alternativa, puede investigar cómo la conversión a XML está ocurriendo, y ver si hay una forma de especificar opciones de manejo nulos allí.

Otros consejos

Puede utilizar una transformación XSLT para la eliminación de la NULL del contenido de los nodos. comprobar mis preguntas para una explicación más detallada sobre ese

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top