buenas noche que tal
estoy intentando almacenar una imagen en una tabla
ejemplo tabla1
estos son los campos
nombre
apellido
foto
coloque en un boton esto
STRING ls_pathname, ls_filename, ls_filtro, ls_cod_thab
LONG ll_File
BLOB lbl_data, lbl_temp
integer fila
ls_filtro = "JPEG Files (*.jpg),*.jpg," + "GIFF Files (*.gif),*.gif," + "BMP Files (*.bmp),*.bmp,"
IF GetFileOpenName ( "Archivo de Imagen: ", ls_pathname, ls_filename , "bmp", ls_filtro) = 0 THEN RETURN
p_foto.picturename = ls_pathname
il_nombre = dw_datos.object.nombre[1]
is_apellido = dw_datos.object.apellido[1]
is_foto = dw_datos.object.foto[1]
INSERT INTO ejemplo
(nombre, apellido, foto)
VALUES
(:nombre, :apellido, :foto);
quiero realizar este insert
estoy utilizando base de datos oracle, y el campo foto en mi base de datos es tipo blob
y estoy utilizando un picture con el nombre de p_foto
bueno cuando mando a correr el programa y oprimo el boton grabar me aparece la ventanita de windows de buscar entonces busco la imagen .bmp que tengo en la carpeta y me la muestra en mi picture otra pregunta es que yo utilizo power builder 6.5 y no veo que los picture soporten jpg solo veo que soportan bmp
mi idea es tener eso es un datawindows external tabular
encontre este ejemplo en internet soy nuevo asi que no se que estoy haciendo mal
BOTON : GRABAR
STRING ls_pathname, ls_filename, ls_filtro, ls_cod_thab
LONG ll_File
BLOB lbl_data, lbl_temp
integer fila
fila=dw_tipohabitacion.getrow( )
string co
co=dw_tipohabitacion.getitemstring(fila,"cod_tipo_hab")
sle_codtipo.text=co
ls_filtro = "JPEG Files (*.jpg),*.jpg," + "GIFF Files (*.gif),*.gif,"
IF GetFileOpenName ( "Archivo de Imagen: ", ls_pathname, ls_filename , "jpg", ls_filtro) = 0 THEN RETURN
p_foto.picturename = ls_pathname
ls_cod_thab = trim(sle_codtipo.text)
ll_File = FileOpen(ls_pathname, StreamMode!)
DO WHILE FileRead(ll_file,lbl_temp) > 0
lbl_data += lbl_temp
LOOP
FileClose(ll_file)
IF ll_File > -1 THEN
FileRead(ll_file, lbl_data)
FileClose(ll_file)
SQLCA.AutoCommit = True
UPDATEBLOB tipo_habitacion SET foto = :lbl_data WHERE cod_tipo_hab = :ls_cod_thab;
SQLCA.AutoCommit = False
ELSE
messagebox('Error','Falló al abrir Archvo')
END IF
IF SQLCA.SQLNRows > 0 THEN
COMMIT;
messagebox('OK: ' + ls_cod_thab,'Se guardó la foto de la Habitacion')
ELSE
messagebox('Error','Falló el Grabar Foto')
END IF
FileClose(ll_file)
BOTON : BUSCAR IMAGEN
Blob lb_imagen
STRING ls_cod_tha
ls_cod_tha = trim(sle_busca.text)
SELECTBLOB foto INTO :lb_imagen FROM tipo_habitacion WHERE cod_tipo_hab = :ls_cod_tha;
p_foto.SetPicture(lb_imagen)