Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cargar imagenes desde base de datos

Estas en el tema de Cargar imagenes desde base de datos en el foro de Visual Basic clásico en Foros del Web. el problema que tengo es k en una ventana de visual basic, solicito el numero identificador de una persona , y luego de unas validaciones ...
  #1 (permalink)  
Antiguo 23/05/2007, 09:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Cargar imagenes desde base de datos

el problema que tengo es k en una ventana de visual basic, solicito el numero identificador de una persona , y luego de unas validaciones devuelvo los datos de la persona y la foto, pero no logro cargar la foto intente asignando el valor del campo (tipo bytea) al picture sin resultados, tambien intente con loadpicture apuntando hacia un archivo php k independientemente puede cargar la foto solicitada, pero tampoco me funciono, alguien sabe como podria cargarla.
PD. si saben soluciones aplicables a otras BD posteenlas igual ya k se podrian usar de base para encontrar la solucion y a alguien mas le podrian servir
  #2 (permalink)  
Antiguo 23/05/2007, 10:11
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Cargar imagenes desde base de datos

fijate si te sirve esto:

http://www.recursosvisualbasic.com.a...-imagen-bd.htm

http://www.recursosvisualbasic.com.a...m-imagenes.htm

http://www.recursosvisualbasic.com.a...e-de-datos.htm

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 24/05/2007, 08:15
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

el segundo funciono grax por la ayuda
  #4 (permalink)  
Antiguo 24/05/2007, 08:25
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

el segundo funciono grax por la ayuda
  #5 (permalink)  
Antiguo 25/05/2007, 14:14
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

T_T tengo problemas , el segundo codigo estaba trabajando bien hasta k trate de cargar una imagen mas o menos grande (+ de 40 k) y el visual se cae alguien sabe alguna forma de reducir el tamaño de la imagen durante el select(para asi evitar k se caiga el programa)
  #6 (permalink)  
Antiguo 25/05/2007, 14:38
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Re: Cargar imagenes desde base de datos

yo baje esto hace rato desde internet, no me acuerdo del enlace pero te dejo el codigo, no tengo problemas con el tamaño de las fotos

usuarios.Edit
GuardarBinary usuarios!firma, Picture1
usuarios.Update

y crea un modulo con el siguiente codigo

Option Explicit

Dim DataFile As Integer
Dim Chunk() As Byte
Const conChunkSize As Integer = 16384

Public Sub LeerBinary(campoBinary As Field, unPicture As PictureBox)
'Leer la imagen del campo de la base y asignarlo al Picture
Dim lngCompensación As Long
Dim lngTamañoTotal As Long

'Se usa un fichero temporal para guardar la imagen
DataFile = FreeFile
Open "pictemp" For Binary Access Write As DataFile

lngTamañoTotal = campoBinary.FieldSize
Do While lngCompensación < lngTamañoTotal
Chunk() = campoBinary.GetChunk(lngCompensación, conChunkSize)
Put DataFile, , Chunk()
lngCompensación = lngCompensación + conChunkSize
Loop

Close DataFile
'Ahora se carga esa imagen en el control
unPicture.Picture = LoadPicture("pictemp")

'Ya no necesitamos el fichero, así que borrarlo
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "pictemp"
End If
Err = 0
End Sub

Public Sub GuardarBinary(campoBinary As Field, unPicture As PictureBox)
'Guardar el contenido del Picture en el campo de la base
Dim i As Integer
Dim Fragment As Integer, Fl As Long, Chunks As Integer

'
'NOTA:
' El recordset debe estar preparado para Editar o Añadir
'

'Guardar el contenido del picture en un fichero temporal
SavePicture unPicture.Picture, "pictemp"

'Leer el fichero y guardarlo en el campo
DataFile = FreeFile
Open "pictemp" For Binary Access Read As DataFile
Fl = LOF(DataFile) ' Longitud de los datos en el archivo
If Fl = 0 Then Close DataFile: Exit Sub

Chunks = Fl \ conChunkSize
Fragment = Fl Mod conChunkSize
ReDim Chunk(Fragment)

Get DataFile, , Chunk()
campoBinary.AppendChunk Chunk()
ReDim Chunk(conChunkSize)
For i = 1 To Chunks
Get DataFile, , Chunk()
campoBinary.AppendChunk Chunk()
Next i
Close DataFile

'Ya no necesitamos el fichero, así que borrarlo
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "pictemp"
End If
Err = 0
End Sub

por ultimo el campo firma esta definido como objeto ole
facil y bonito
  #7 (permalink)  
Antiguo 28/05/2007, 08:45
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

trate de trabajarlo con mi bd y no funciono, lo mas probable s por k el campo foto lo tengo como byte y no olesegui probando con otros modulos k encontre por ahi y todos fallan donde mismo: crean un temporal corruptu, y luego el visual se cae al tratar de cargarlo como imagen
  #8 (permalink)  
Antiguo 28/05/2007, 09:16
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: Cargar imagenes desde base de datos

en las faq's hay un ejemplo.

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 28/05/2007, 11:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

no encontre el ejemplo del k hablas
  #10 (permalink)  
Antiguo 29/05/2007, 20:03
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: Cargar imagenes desde base de datos

Hola : Yo realizo esta acción almacenando imágenes en el directorio del disco y las referencias a sus nombres de archivos en campos de texto de la base de datos.
Lo pongo en este ejemplo :
text1 está asociado a la base de datos, donde se encuentra la ruta al archivo de imagen que será mostrado en picture 1
En el evento change de text1 :

Private Sub Text1_Change()
'text1 es quien lee de la base las imagenes
' y asocia esta imagen a picture 1
Picture1.Picture = LoadPicture(Text1)

Todo esto mediante el empleo de una caja de texto (luego la coloco como no visible )
De este modo no interesa que tamaño tiene la imagen , es mucho más rápido y menos complicado.
Suerte
  #11 (permalink)  
Antiguo 31/05/2007, 17:39
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: Cargar imagenes desde base de datos

aqui el link con ejemplo descargable

http://www.forosdelweb.com/showpost....6&postcount=95

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #12 (permalink)  
Antiguo 28/06/2007, 15:56
 
Fecha de Ingreso: agosto-2006
Mensajes: 141
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Cargar imagenes desde base de datos

a didake: la base de datos no guarda una ruta a la foto , sino la foto misma.
a geoavila: probe tu codigo (con las modificaciones correspondientes para k se conecte a mi db ) pero lo uniko k obtengo son los nombres de las personas y absolutamente ninguna foto, ademas de k el boton previo arroja un error.
PD. me demore en contestar por k estuve ocupado con otros proyectos
PD. despues de muchas batallas con el codigo, opte por subir al servidor un php k dibuja la foto, y reemplazar el campo imagen por un webbrowser, pero al llevarlo al equipo donde va a correr el programa hay ciertas imagenes con las k se cae el programa, la solucion k se me ocurre seria ordenarle al programa k inicie la descarga de este php (ya comprobe k al hacerlo descarga la imagen correspondiente) de forma automatica y luego cargue la imagen en un picture, pero no encuentro como hacer para k la descargue de forma automatica
  #13 (permalink)  
Antiguo 02/07/2007, 10:54
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: Cargar imagenes desde base de datos

Cita:
Iniciado por GreenlanternX Ver Mensaje
a didake: la base de datos no guarda una ruta a la foto , sino la foto misma.
a geoavila: probe tu codigo (con las modificaciones correspondientes para k se conecte a mi db ) pero lo uniko k obtengo son los nombres de las personas y absolutamente ninguna foto, ademas de k el boton previo arroja un error.
PD. me demore en contestar por k estuve ocupado con otros proyectos
PD. despues de muchas batallas con el codigo, opte por subir al servidor un php k dibuja la foto, y reemplazar el campo imagen por un webbrowser, pero al llevarlo al equipo donde va a correr el programa hay ciertas imagenes con las k se cae el programa, la solucion k se me ocurre seria ordenarle al programa k inicie la descarga de este php (ya comprobe k al hacerlo descarga la imagen correspondiente) de forma automatica y luego cargue la imagen en un picture, pero no encuentro como hacer para k la descargue de forma automatica
bueno si mal no recuerto ese ejemplo crea un archivo temporal, revisa si esa carpeta temporal existe..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:56.