Lorem Ipsum/DOL Differet Solmena

Separat existentie 2010 Unee MYT por scientie, musica, sport etc, litot Europa usa li sam Vocabular Lingues, differe solmen in li grammatica, li pronunciation. Delete this widget in Dashboard and add yours. This is just an example. Read More

Re: Consulta de Imagenes en DB

miércoles, 3 de abril de 2013

Bueno, la solución al error de Datawindows aun sigue ahi, pero he logrado mostrar lo que son las imagenes, sin el objeto "OLE database" y bueno el codigo sería este:
(lo que realmente hago es la descarga de la BD a archivos temporales)

/*hago retrieve al DW
donde solo hago el select de los datos incluyendo el campo FOTO varchar(255) donde en realidad no guardo nada,
esta ahí por defecto del sistema que tenemos, y bueno a este campo le colocamos la propiedad Display as Picture*/
dw_1.retrieve( )
//Declaramos variables a utilizar
int li_cantidad, i
string ls_dni, ls_nombre, ls_path
blob lb_foto
int li_file

//obtenemos cantidad de registros para hacer un recorrido para impresión de carnets.
li_cantidad = dw_1.rowcount( )

//empezamos el recorrido
for i=1 to li_cantidad
//obtenemos el PK ficha para hacer la consulta
ls_dni = dw_1.getitemstring( i, <nombre campo>)
        //le damos el nombre a nuestro temporal en este caso cada temporal tendra el nombre de su ficha
ls_nombre = ls_dni+".jpg"
        //realizamos la consulta de la foto cabe indicar que cree otra tabla (donde tengo el blob foto) y la relacione con la tabla de mis trabajadores
selectblob foto into :lb_foto
                from tabla_foto
              where dni = :ls_dni;
if sqlca.sqlcode = -1 then
messagebox('AVISO',"Error al Obtener Imagen")
return
end if
        //asignamos ruta de carpeta temporal y lo creamos
ls_path = "C:\temp_fotos\"
createdirectory(ls_path)
        //abrimos el temporal
li_file = fileopen(ls_path + ls_nombre, StreamMode!, Write!, Shared!, Replace!)
        //lo creamos
FileWriteEx(li_file, lb_foto)
        //cerramos temporal
FileClose(li_file)
        //asignamos el temporal en el respectivo registro al que corresponde
dw_1.object.per_trabajador_foto[i] = ls_path + ls_nombre
next


Bueno, esa es una de las soluciones que encontré, en sí el código no esta completo, porque no me dejan llevar la fuente a casa xD pero aún asi funciona, solo falta darle una mejor presentación en caso no exista la foto y darle una foto standart.

La otra solución que encontré fue creando un objeto Picture t de la misma manera asignar temporales, pero me hice un mundo al momento de asignarle los blob, aun me falta solucionar eso pero con lo anterior me solucionó el problema hasta el momento. Espero les sea de ayuda.

Saludos,


Frank P.

--
 
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a techeraz9+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

0 comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.