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 28-08-2007
Avatar de Greco
Greco Greco is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 97
Poder: 17
Greco Va por buen camino
Como guardar un MEMO o un RICHEDIT en una db...

Hola,
Estoy experimentando en mi primera aplicación como modo de aprendizaje de Delphi y me encontre con un problema que de seguro es simple y facil de solucionar pero que debido a mi corta experiencia ya que soy novato no lo he podido solucionar.

Estoy trabajando con el componente AbsoluteDB y necesito guardar unos registros en una base de datos
El problema que tengo es que no se como guardar la informacion del campo RichEdit.

Este es el parte del código que tengo para crear la tabla y la db (en caso de que no exista) al momento de ejecutar la aplicación:

Código Delphi [-]
...
   begin 
      Clear;
         Add('entNo',ftAutoInc,0,False);
         Add('entTitulo',ftString,150,False);
         Add('entCategoria',ftString,50,False);
         Add('entSubcategoria',ftString,50,False);
         Add('entContenido',ftFmtMemo,0,False);
    end;
...
En base a la ayuda que aparece en la web del componente AbsoluteDB.

y al momento de la insercion de contenido hago esto:

Código Delphi [-]
...
  Insert;
    FieldByName('entTitulo').AsString :=Edit1.Text;
    FieldByName('entCategoria').AsString :=Combobox1.Text;
    FieldByName('entSubcategoria').AsString :=Combobox2.Text;
    FieldByName('entContenido').AsFmtMemo :=RichEdit1.Lines;
  Post;
...
Tambien sacado de la ayuda de la WEB.

El problema que tengo es que no me logra guardar el campo RichEdit en la base de datos, al momento de compilar me muestra este mensaje:

Código Delphi [-]
[Error] Umain.pas(131): Undeclared identifier: 'AsFmtMemo'
[Fatal Error] Apuntes.dpr(8): Could not compile used unit 'Umain.pas'

AQUI estan los tipos de datos para la base de datos segun la ayuda del absoluteDB.

Si alguien puede darme una mano en esto ya que no se como poder solucionarlo, al parecer es un problema con el tipo de dato o algo que estoy haciendo mal en el RichEdit.
Cualquier cosa aquí estaré pendiente, si necesitan que proporcione mas datos o lo que sea.

Saludos
__________________
Greco - Principiante
Responder Con Cita
  #2  
Antiguo 28-08-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola!

El error te indica que no encuentra la propiedad AsFmtMemo para el objeto TField que devuelve el método FieldByName.

Puedes intentar asignando el campo como:

Código Delphi [-]
FieldByName('entContenido').AsString :=RichEdit1.Lines.Text;

Saludos...
Responder Con Cita
  #3  
Antiguo 28-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola Greco

Prueba con esto:

Código Delphi [-]
    
    FieldByName('entTitulo').Value :=Edit1.Text;
    FieldByName('entCategoria').Value :=Combobox1.Text;
    FieldByName('entSubcategoria').Value :=Combobox2.Text;
    FieldByName('entContenido').Value :=RichEdit1.Lines.Text;

oops, se me han adelantado, saludos [maeyanes]

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 28-08-2007
Avatar de Greco
Greco Greco is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 97
Poder: 17
Greco Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Hola!

El error te indica que no encuentra la propiedad AsFmtMemo para el objeto TField que devuelve el método FieldByName.

Puedes intentar asignando el campo como:

Código Delphi [-]FieldByName('entContenido').AsString :=RichEdit1.Lines.Text;


Saludos...
Muchas gracias, puse la linea que me dijiste y funcionó.
La verdad es que en un principio proble con AsSring pero colocaba
RichEdit1.Lines; o RichEdit1.Text; pero nunca probé con
RichEdit1.Lines.Text; por desconocimiento mio.
Gracias.

Cita:
Empezado por egostar Ver Mensaje
Hola Greco

Prueba con esto:

Código Delphi [-]
FieldByName('entTitulo').Value :=Edit1.Text;
FieldByName('entCategoria').Value :=Combobox1.Text;
FieldByName('entSubcategoria').Value :=Combobox2.Text;
FieldByName('entContenido').Value :=RichEdit1.Lines.Text;


oops, se me han adelantado, saludos [maeyanes]

Salud OS.
Tambien probé las lineas que posteaste y la verdad es que tambien funcionaron.
Gracias por la ayuda.


::::::::::::::::::::::TEMA SOLUCIONADO::::::::::::::::::::::
__________________
Greco - Principiante
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
Scrollbar con un richedit y y un memo lachuza Gráficos 3 04-11-2007 08:52:34
error al guardar en un campo memo en una bd en access gulder Conexión con bases de datos 2 04-04-2007 18:40:22
Establecer numero maximo lineas RichEdit o Memo pepecharlie67 Varios 9 05-04-2006 22:52:52
Parte de un RichEdit a otro RichEdit (donde esté el cursor) Tomy Varios 3 21-12-2005 21:08:15
Guardar texto de un RichEdit aranel Varios 4 11-11-2005 18:36:49


La franja horaria es GMT +2. Ahora son las 09:15:40.


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