Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda Para Insertar una imagen en una Base de Datos... (https://www.clubdelphi.com/foros/showthread.php?t=43873)

zeta2 22-05-2007 23:54:09

Ayuda Para Insertar una imagen en una Base de Datos...
 
Antes que nada, les comento que recien agarro delphi despues de 6 años y no me acuerdo mucho...

Tengo una base de datos llamada Agenda que tiene un campo llamado Foto del tipo Grafic. Ustedes se preguntaran por que consulto en el foro habiendo tantos post respecto a esto pero lamentablemente ninguno me anda... en todos tengo el mismo problema. Les mostrare!!!

If OpenPictureDialog1.Execute then
begin
TAgenda.Edit;
TAgendaFoto.LoadFromFile (OpenPictureDialog1.FileName); //error
End;


Ahi se encuentra el error, segun varios post se pone el nombre de la tabla seguido del nombre del campo, pero no funciona... Por lo que yo recuerdo el campo no iva entre parentesis? como por ejemplo ('Foto'), pero tampoco funciona... Por eso les pregunto... Como puedo hacer para insertar una imagen bmp (despues veo lo de jpg) en una base de datos Paradox, en un campo llamado Foto del tipo grafic?

Desde ya muchisimas gracias por su tiempo y espero tener una respuesta clara ya que despues de tanto tiempo que no programo en delphi y me cuesta arrancar!!!

Atte. Marco.

Caral 23-05-2007 00:17:31

Hola
No entiendo muy bien pero aqui vamos:
Código Delphi [-]
  If OpenPictureDialog1.Execute then
      begin
        Filter:= 'Bitmaps|*.bmp';  // filtra los bmp, si no funciona quitalo
         TAgenda.Edit;
         TAgendaFoto.Picture.LoadFromFile (FileName); 
         TAgenda.post;
   End;
A ver que pasa
Para mi el componente OpenPictureDialog1, tiene que estar creado con anterioridad en el form.
Saludos

zeta2 23-05-2007 06:17:13

Exactamente el mismo problema, en la misma linea...

If OpenPictureDialog1.Execute then
begin
TAgenda.Edit;
TAgendaFoto.Picture.LoadFromFile (FileName);
TAgenda.post;
End;

El error que tira dice:

undeclarer identifier: 'TAgendaFoto'
undeclarer identifier: 'filename'

El Error me salta en 'TAgendaFoto', Estabien puesto esto? Por que veo que todos los ponen pero ami me salta error siempre... No habra que definirlo como alguna variable?

Gracias por responder a mis dudas caral... Saludos.

Atte. Marco.

Delphius 23-05-2007 06:57:16

¿TAgendaFoto que es? ¿Un TImage?
Por lo que estoy leyendo:
Código Delphi [-]
TAgendaFoto.Picture.LoadFromFile (FileName);

Por el .Picture. ya me inclino por que sea un TImage.

¿Que es TAgenda? ¿Un TTable?

Creo que estas mezclando cosas... y te estas mareando. Si deseas insertar una imagen en una base de datos la cosa no va por allí. Sino por ésta (por ejemplo) Una búsqueda con los términos Blob e imagen te va a dar buenos resultados.

Ahora, viendo los errores a simple vista... me parece que no lo tienes declarados.

Espero serte de ayuda.
Saludos,

zeta2 23-05-2007 21:21:15

Sulucione el Problema... =)
 
Seeeeee Mesalio!!!!!!!!!!!!!!!!!

Si no fuera por Caral que me dio el ejemplo y Delphius que me hizo ver el error aun seguiría teniendo el problema!!! Muchisimas gracias Gente!!!

El codigo que me andubo fue el siuiente:

If OpenPictureDialog1.Execute then
begin
TAgenda.edit;
\\ o append...
DBImage1.Picture.LoadFromFile (openpicturedialog1.FileName);
TAgenda.Post;
End;


TAgendaFoto habia sido el nombre de DBImage y Filename no va solo va con el OpenPictureDialog1 antes...
Claro Adjunto archivos .BMP Pero es un buen comienzo...

Gracias Chicos (Caral Y Delphius), les debo una!!!

Atte. MArco Iván Arriondo.

Caral 23-05-2007 21:34:37

Hola
Y si usas esta sentencia no necesitas especificar mas cosas de la cuenta:
Código Delphi [-]
 with TOpenPictureDialog1.Create(nil) do  // aqui creas el componente
  try
      if Execute then  // aqui esta el detalle, no ocupas el que estas usando
      TAgenda.edit;
      DBImage1.Picture.LoadFromFile(FileName);// no ocupa la repeticion
      TAgenda.Post;
  finally
    Free;// libera el componente de la memoria
  end;
Nada mas por ampliar un poco esto.:D
Me alegro de que te funcione.
Saludos


La franja horaria es GMT +2. Ahora son las 03:07:48.

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