Asunto: Visualización en DBGrid de campos varchar Oracle??
Cuando ejecuto la siguiente sentencia SQL en Delphi y muestro los resultados en un DBGrid, en los campos de tipo VARCHAR me muestra "MEMO" en lugar de su valor. La base de datos que utilizo es Oracle 9.
¿se puede mostrar el valor de estos campos sin utilizar código fuente?
La sentencia SQL que ejecuto es:
select group#, status, type, member from v$logfile order by group#
Publicado:
Dom Ago 13, 2006 11:25 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Visualización en DBGrid de campos varchar Oracle??
Anuncios
oracle-delphi escribió:
Cuando ejecuto la siguiente sentencia SQL en Delphi y muestro los resultados en un DBGrid, en los campos de tipo VARCHAR me muestra "MEMO" en lugar de su valor. La base de datos que utilizo es Oracle 9.
¿se puede mostrar el valor de estos campos sin utilizar código fuente?
La sentencia SQL que ejecuto es:
select group#, status, type, member from v$logfile order by group#
El hecho de que te aparezca MEMO es debido a que Delphi interpreta que los camos de tipo VARCHAR de más de 255 caracteres son de tipo MEMO y, como sabes, el DBGrid no es capaz de mostrar el valor de estos campos directamente. Existen otros componentes de tipo Grid que sí son capaces de hacerlo (ExpressQuantumGrid).
Para solucionar tu problema utiliza la función de Oracle substr(nombre_campo, posición_inicio, posicón_final), de esta forma arcortarás el valor hasta los 255 que admite DBGrid. Con lo cual la consulta te quedará así:
select group#, status, type, substr(member, 1, 255)
from v$logfile
order by group#
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A