Power Builder - INSERTAR Y VISUALIZAR IMAGENES CON DB ORACLE

 
Vista:

INSERTAR Y VISUALIZAR IMAGENES CON DB ORACLE

Publicado por mauricio (10 intervenciones) el 09/02/2004 20:28:29
COMO INSERTO UNA IMAGEN EN MI DB ORACLE, Y LUEGO COMO LA VISUALIZO UTILIZANDO UN DATAWINDOW.
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:INSERTAR Y VISUALIZAR IMAGENES EN UNA BD (1)

Publicado por Oscar (1178 intervenciones) el 10/02/2004 22:27:46
Acá tienes un ejemplo, que guarda imágenes en la BD y las visualiza.

1. Creas una tabla llamada mitabla. En ASA sería:
id...................(int) Clave principal
nombre.........(var)
foto...............(Long Binary)
Nota:
- En ASA se elige Long Binary
- En SQL server se elige IMAGE
- En Oracle elegí un tipo de dato BINARIO, creo tienes varios: (Raw, Low Raw, Blob, Clob, Nlog, bfile...). En fin, tu sabes mejor eso.

2. Creas tu objeto DW; incluyes los campos id y nombre (no podrás incluir el campo foto. No te preocupes).

3. En una ventana insertá los siguientes elementos:
* Un control DataWindow (que está relacionado con tu objeto DataWindow).
* Fuera de los botones clásicos (Anterior, Siguiente, Nuevo registro y Guardar Registro), incluí un botón llamado EXAMINAR.
* Insertá un Control picture (p_1) en cualquier parte de la ventana o sobre el mismo control DW. En propiedades del control p_1, desactivá: OriginalSize.

//(CONTINÚA..)
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:INSERTAR Y VISUALIZAR IMAGENES EN UNA BD (2)

Publicado por Oscar (1178 intervenciones) el 10/02/2004 22:33:58
//(CONTINUACIÓN...)
4. Script del botón EXAMINAR, que permite examinar una imagen (inclusive superior a 32 KB), mostrarla en el p_1 y guardarla en la BD.

//Obtener la ruta de la imagen
Long ll_valor
Long ll_row
String ls_ruta,ls_nombre

ll_valor = GetFileOpenName("Seleccione el archivo", + ls_ruta, ls_nombre, "DOC", + "Bmp Files (*.BMP),*.BMP," + "Jpg Files (*.JPG),*.JPG")

//sle_1.Text=string(ls_ruta)

//Leer imágenes mayores a 32 KB
Long ll_file,ll_fila
blob lbl_foto, lbl_temp

//Obtenemos el id de la fila actual
ll_fila=dw_1.GetItemNumber(dw_1.GetRow(),"id")

ll_file = FileOpen(ls_ruta, StreamMode!)

Do while FileRead(ll_file,lbl_temp)>0
lbl_foto +=lbl_temp
Loop
FileClose(ll_file)

p_1.setpicture(lbl_foto)

//Guardar en la BD
UPDATEBLOB mitabla
SET foto = :lbl_foto
WHERE id=:ll_fila;

IF sqlca.sqlcode=0 THEN
messagebox('','Ingreso existoso.')
ELSE
messagebox('','Error en el ingreso')
END IF
-----------
Espero que sirva en Oracle, y por sí acaso, controlá cuanto "engorda" tu BD, cada vez que insertas un imagen.
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