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 25-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Question Grabar Imagen en Tabla Access

Hola amigos del clubdelphi, se que este tema se ha tratado mucho en los foros pero el asunto es que no he trabajado con imagenes en una base de datos, y buscando encontré el siguiente código:

Código Delphi [-]
if openpicturedialog1.execute then
dbimage1.picture.loadfromfile(openpicturdialog1.filename);

Al ejecutarlo me invoca la ventana de dónde voy a buscar la imagen, el asunto es que cuando la cargo no se ve en el DBImage, acaso me falta algo?
por cierto DBImage esta conectado con el respectivo campo "Logo", utilizo Delphi-7 y Access 2003.

Gracias de antemano...
Responder Con Cita
  #2  
Antiguo 25-09-2007
Avatar de rodrigodeoz
rodrigodeoz rodrigodeoz is offline
Miembro
 
Registrado: sep 2007
Posts: 30
Poder: 0
rodrigodeoz Va por buen camino
es mejor que en la BD solo guardes la direccion de la imagen y utilices un componente Image para mostrarla y ya asi es menos problematico y se hace mucho mas lijera tu BD. si necesitas ayuda con eso avisame...
Responder Con Cita
  #3  
Antiguo 25-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Cool Asunto

Lo cierto es que no sé como cargarla ni grabarla en la tabla, osea que se pueda ver y consultar...
Responder Con Cita
  #4  
Antiguo 25-09-2007
Avatar de rodrigodeoz
rodrigodeoz rodrigodeoz is offline
Miembro
 
Registrado: sep 2007
Posts: 30
Poder: 0
rodrigodeoz Va por buen camino
primero agregas un OpenPictureDialog1, un Imge1, un edit y boton;
en el boton le agregas este codigo:

Código Delphi [-]
 
if (OpenPictureDialog1.Execute) then begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
edit1.Text:=openpicturedialog1.FileName;
end;
esto es para buscar y mostrar la imagen.
para guardarla solo guardas el texto que te parece en el edit1 y para mostrar la imagen desde una consulta te dare un ejemplo:


image1.Picture.LoadFromFile(query1.field[0].value);

suponiendo que la consulta solo la haces para seleccionar la imagen

o desde un DBGRID
image1.Picture.LoadFromFile(dbgrid1.Fields[6].asstring);

su poniendo que en la posisicion 6 del grid esta la direccion de la imagen
este codigo para el grid se lopones en el onclick o en le DblClick
Responder Con Cita
  #5  
Antiguo 25-09-2007
Fumaxclamp Fumaxclamp is offline
Miembro
 
Registrado: may 2006
Posts: 14
Poder: 0
Fumaxclamp Va por buen camino
mira lo que te dice rodrigodeoz en gran parte es cierto, al gbrabar una imagen en tu base de datos con muchos registros esta se puede hacer lenta, sin embargo haveces es nesesario y por ende posible, existen varios metodos aqui en el foro, pero para que no te quieres la cabeza en descubirlos yo te aconsejaria que descargaras y utilizaras el componente imdbjpeg, es como el DBImage solo que este si acepta las imajenes jpg asi com las bmp y aparte agrega la libreria jpeg en los uses y con esto se resolvera tu problema.

suerte
Responder Con Cita
  #6  
Antiguo 26-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Thumbs up Gracias

Muchas gracias amigo Rodrigodeoz, ahora si que pude cargar la imagen...
Responder Con Cita
  #7  
Antiguo 30-09-2007
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool Siempre mas de lo mismo

Hola Novato, lo tuyo es mas simple de lo que parece. El tema fue architratado en el foro, solo es cuestion de que busques y el hehco de buscar te va a llevar a ver cosas que ni esperabas encontrando asi muchas nuevas ideas. Por eso buscar ante todo es lo fundamental. Por otro lado, que pasa si se borra la imagen, tenemos la direccion pero falta el archivo. Ademas ese sistema no te permite administrar las imagenes. Tambien es cierto que en una base de datos no vas a cargar imagenes porque se torna muy lenta. El punto de equilibrio esta en controlar cuanto pesa la imagen que agregas a tu base de datos. Hay muchos metodos para recortar los bytes de una imagen sin perder demasiada calidad. Para empezar lee este articulo aqui abajo, siempre lo he dicho, el boletin pascal n° 11 ofrece muchas soluciones. Te adelanto que estoy trabajando en un objeto que denominare TADODBImage y te permitira trabajar como cualquier Data_Aware control sin tener que escribir todo ese codigo cada vez que quieras utilizar graficos en la base de datos. Lee ese articulo y despues comenta que te parecio en este mismo hilo.

http://www.latiumsoftware.com/es/pascal/0011.php
Responder Con Cita
  #8  
Antiguo 02-10-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 18
waly2k1 Va por buen camino
El metodo mas corto...

Código:
 
( Tabla.FindField( 'IMAGEN' ) As TBlobField).SaveToFile( sFile );
Tabla como lo dice es el nombre de un objeto TTable, Imagen es el nombre del campo y sFile es el nombre del archivo a almacenar. El objeto TTable debe estar en edicion...

Saludos
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
grabar imagen en base de datos sql server 7 didier SQL 3 31-12-2008 18:41:36
Grabar hora en Access silver07 Conexión con bases de datos 7 27-09-2007 03:32:42
Grabar imagen en Interbase jordan23 Firebird e Interbase 2 20-04-2006 10:08:33
grabar imagen en base de datos sql server 7 didier Internet 0 24-05-2005 16:12:57
Grabar Imagen en campo BLOB Firebird pcicom Conexión con bases de datos 0 06-04-2005 01:34:06


La franja horaria es GMT +2. Ahora son las 16:40:22.


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