Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-08-2007
Gran Cacique Gran Cacique is offline
Registrado
 
Registrado: ene 2007
Posts: 7
Poder: 0
Gran Cacique Va por buen camino
Talking Xml, DBExpress y TSQLQuery

Hola amigos.
Tengo una gran, pero gran problema, (que raro).

Al hacer una consulta a traves de TSQLQuery a un campo de tipo XML, el TSQLQuery me devuelve la informacion intercalada con #0 valores que no puedo sacar ni con StringReplace.

<'#0'd'#0'o'#0'c'#0'u'#0'm'#0'e'#0'n'#0't'#0'>'#0'l'#0'u'#0'i'#0's'#0'<'#0'/'#0'd'#0'o'#0'c'#0'u'#0'm'#0'e'#0'n'#0't'#0'>'#0

Estos valores al ser sacados a un archivo de texto aparecen como barras (|)

esta es la parte del codigo que me trae la dichosa cadena

qryLoadXML.Fields.FieldByName('Data').AsString;

Bueno, lo importante es que es un campo de tipo XML dentro de una base de datos.

Esta consulta me sale bien con ADO, pero debo hacerla con DbExpress.

¿Saben Ustedes que puedo hacer? ¿Alguna Idea de como salir de este problema?

De antemano, Muchas gracias
Responder Con Cita
  #2  
Antiguo 03-09-2007
Gran Cacique Gran Cacique is offline
Registrado
 
Registrado: ene 2007
Posts: 7
Poder: 0
Gran Cacique Va por buen camino
Smile dado que lo encontre, ayudare a quienes ya tienen este problema

Bueno, nadie respondio pero encontre una manera parche para solucionar el tema.
En la consulta al campo memo, coloquen un cast que convierta el campo xml en texto (por ejemplo
CAST(T.c.value('@name','varchar(30)') as varchar(max))
)
Luego Tomen el valor como un variant (qryLoadXML.Fields.FieldByName('Data').variant) y pasenselo a un campo tipo memo. Asi veran como queda el xml. Posteriormente ya pueden pasar el valor a un clientdataset o hacer lo que quieran.
Recuerden que este problema solo da con dbexpress, con ado anda super.

Saludos a todos los que lean esto, espero les ayude
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diferencia entre TSQLQuery, y TClientDataSet Lucciano Conexión con bases de datos 2 02-07-2007 16:41:19
(DBExpress)la función IsIndexField del TSQLQuery siempre me devuelve falso amezeta32 Conexión con bases de datos 0 17-08-2006 00:20:46
problemas con TSQLConnection,TSQLQuery jmlifi Conexión con bases de datos 1 05-01-2006 21:43:11
Añadir Campo a TSQLQuery asirvent Conexión con bases de datos 2 20-06-2003 16:30:17
DBExpress Jordy Conexión con bases de datos 6 08-05-2003 14:48:22


La franja horaria es GMT +2. Ahora son las 16:36:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi