Power Builder - Ayuda:Recuperar Imagen en DW

 
Vista:

Ayuda:Recuperar Imagen en DW

Publicado por Jorge Luis Chumpitaz Velez (4 intervenciones) el 04/06/2003 19:30:36
Necesito recuperar informacion de las fotografias de los trabajadores de mi empresa en el DW,estas fotos estan almacenadas en la base de datos(SQL-SERVER) en un campo imagen,al momento de seleccionar el campo foto en el Dw no me permite seleccionarlo, que puedo hacer para poder mostrar la imagen en el Dw, sin la necesidad de usar el objeto picture.Gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda:Recuperar Imagen en DW

Publicado por Ricardo (1957 intervenciones) el 04/06/2003 21:07:16
Puedes utilizar un computefield y utilizar la funcion bitmap(nombre_campo)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias pero otra alternativa necesito

Publicado por Jorge Chumpitaz (4 intervenciones) el 04/06/2003 21:46:26
gracias por tu ayuda pero por medio de esa funcion no se puede acceder ya q el campo no permite ser seleccionado en el datasource del dw(lugar donde se seleccionan los campos a mostrar).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias pero otra alternativa necesito

Publicado por Ismael (38 intervenciones) el 04/06/2003 22:02:30
En el pintor de datawindow tienes selecciona "Inser\Control\OLE Database Blob". Cheque el help de PB para saber como configurarlo. Revisa tambien los POST anteriores, alli se ha escrito mucho al respecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias pero otra alternativa necesito

Publicado por Oscar (1178 intervenciones) el 04/06/2003 23:11:20
Lo que te sugiere Ismael, tiene la ventaja que al ejecutar el OLE con doble clic, puedes guardar la imagen en cualquier carpeta (busca un post anterior en la segunda página: "La mejor solución con SQL Server ")

Una vez que tengas todas las imágenes, es mejor emplear el método que te sugiere Ricardo (también explicado con detalle en este foro).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias pero no me ayuda

Publicado por Jorge Chumpitaz (4 intervenciones) el 04/06/2003 23:50:36
si alguno de ustedes me pudiese enviar un ejemplo acerca de lo q estoy buscando,pq los datos q me dan son para insertar seleccionar actualizar pero ninguno me da la solucion para poder construir ese OLEDB, no se que datos tengo q poner en los campos q me solicita,gracias de todos modos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Acá tienes la explicación detallada...

Publicado por Oscar (1178 intervenciones) el 05/06/2003 00:09:18
Para recuperar las imagenes de tu base de datos realizá lo siguiente:

1. Incluí los campos de tu tabla en tu objeto DataWindow (no te preocupes si no puedes hacerlo con el campo que tiene el tipo de dato IMAGE).
2. En es mismo objeto dataWindow, insertá el control "Create Large Binary/Text Database OLE object" (no el OLE object).
3. En la caja de dialogo que aparece, llenas asi:
* Table:
mitabla
* Large Binary/TextColumn:
Eliges el campo que tiene el campo IMAGE; pero aparece BLOB. Es decir:
foto (blob)
* Key Clause
Se refiere más o menos al argumento de recuperación, puede ser la clave principal de la tabla. Escribes:
cod_univers=:cod_univers
* OLE Class
Tipo de archivo que deseas recuperar. Ejemplo:
Documento de Imaging: Documento de Imagen
* Client name Expresión
Escribes el mensaje que aparece en la barra de título del archivo. Usá comillas:
"Foto de "

Nota: Para más detalles, ve la ayuda. Los datos que has llenado en la caja de diálogo aparecen en las propiedades del OLE.

Ahora ya puedes ver las imagenes en tu DataWindow. Si quieres guardarlas, da doble clic en el OLE y andá a Archivo/Guardar una copia.

Si guardas todas tus imagenes de esta manera en una carpeta, existe otro metodo para mostrarlas en tu DataWindow. Pero primero dinos, cómo te fue con esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acá tienes la explicación detallada...

Publicado por Jorge Chumpitaz (1178 intervenciones) el 05/06/2003 16:59:36
gracias por todo,pero la imagen no la puedo ver, o el tipo de ole q estoy seleccionando no es el correcto, estoy seleccionando
- Paint Picture:imagen de mapa de bits y tambien
- Imaging. Document : Documento de imagen
y con ninguno de los dos me muestra la imagen

GRacias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Probá esta otra solución...

Publicado por Oscar (1178 intervenciones) el 05/06/2003 19:45:41
Que raro! a mi me corrió perfectamente con Win ME, PB 8 y SQL Server 2000. Revisá lo siguiente:
* Que tienes instalado el Imaging de Windows(en Accesorios).
* Instalá Microsoft Photo editor (del Office).
Para mayor seguridad, da doble clic en una imagen cualquiera y observá con que programa gráfico te abre. Y recuerda que para ver tu imagen en el DataWindow, debes dar doble clic en el OLE.
En OLE class yo elegí:
Documento de Imaging: Documento de Imagen
Y las imágenes automáticamente se abren en:
- Los GIF (se muestran directamente en el DataWindow).
- Los JPG (en Photo Editor)
- Los BMP (en Paint)
* Otra causa podría ser que en la BD no guardaron imágenes (preguntá al respondable)
Si sigues teniendo problemas, intentá con lo siguiente:
1. Creas un objeto datawindows con los campos de tu tabla (a excepción del que tiene el dato IMAGE).
2. En la VENTANA que contiene tu control DataWindow (no en el objeto DataWindows), insertá un simple OLE control.
3. En un botón o en el evento RowFocusChanged del DataWindow, escribí:
//asignacion de la variable local blob
blob lblb_foto
Integer fila

//Lees el número de fila actual
fila=dw_1.GetRow()

SELECTBLOB foto //nombre del campo
INTO :lblb_foto
FROM mitabla
WHERE cod_univers =:fila;
//Donde num_cod es el argumento o criterio para rescatar desde la base de datos.

ole_foto.objectdata=lblb_foto
-----------------------------
Espero que tengas ahora mejor suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eso me pasa a mi tambien

Publicado por carlos (19 intervenciones) el 25/07/2003 01:09:07
la solucion que le di fue la de insertar un objecto ole en la venana pero como puedo hacer para asignarle ese objeto ole de la ventana a un objecto ole del datawindow.. si lo que quiero es imprimir una ficha donde se muestre esa foto....... trate de asignar la foto como se la asigno al objecto ole de la ventana pero me da un error de diferencia de variables
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar