La Web del Programador: Comunidad de Programadores
 
    Pregunta:  17838 - RICHEDIT Y SQL SERVER
Autor:  Pablo Toscanini
Trabajo con SQL server y Delphi 5 , y necesito guardar un campo richedit , pero al recuperar la informacion desde la tabla solo obtengo el texto , y pierdo todos los atributos ( Tipo de Font , color , etc ).

uso un procedimiento para guardar los datos , el campo esta definido como text en sql server , en la forma uso un RichEdit donde el usuario tiene controles para definir el Font , color , etc.

Alguna Idea?
Muchas Gracias.

  Respuesta:  Rubén Regalado Alarcón
No sé si con MS SQL funcione en forma identica a Oracle. En Oracle yo uso un campo Blob y se sigue el mismo procedimiento que si fueras a guardar una imagen.
Guarda el RichEdit en un archivo temporal.
Usa un TBlobStream y conéctalo al campo blob de tu tabla MS SQL.
Para leer el archivo RTF puedes usar BlockRead para llenar un buffer y después utilizar el método Write del TBlobStream para actualizar tu campo blob.
Para leer, usar lo contrario:
Conectar un TBlobStream al campo Blob.
Leer, utilizando el método Read del TBlobStream.
Escribir a un archivo temporal, utilizando BlockWrite.
Cargar el archivo temporal en el RichEdit.