Insertar imagen en una base de datos
Publicado por omar (14 intervenciones) el 03/02/2003 07:59:14
Seguro que muchos de ustedes dirán que ya se respondió a esta pregunta, la verdad es que me he tomado el trabajo de revisar alguna pregunta relacionada con esto pero no hay nada exacto. Tengo el siguiente problema, deseo insertar una imagen ya sea de tipo BMP, GIF, JPEG en la base de datos, es que lo que deseo es guardar las fotos de los empleados, estoy trabajando con Power builder 8.0 y Sql Server 7.0, he colocado un picture y un commandbutton que le he llamado cb_editar que me servirá para ubicar la foto y proceder a guardarla, el código que he estado probando es el siguiente:
/***Todo este código está dentro de cb_editar en el evento clicked*****/
integer fh,ret,ii_currow
blob emp_pic
string txtname,named
string scodigo
ii_currow=dw_empleado.getrow()
/*es un datawindow de tipo freeform sin relevancia para el problema*/
scodigo=dw_empleado.GetItemString(ii_currow,"idempleado")
string defext="JPG"
string filter="FORMATO JPG(*.jpg),*.JPG,Jpeg(*.jpeg),*.jpeg,Bitmap files(*.bmp),*.bmp"
/*Con la siguiente línea ubicaré la imagen que deseo guardar*/
ret=getfileopenname("Open JPG",txtname,named,defext,filter)
if ret=1 then
fh=fileopen(txtname,streammode!)
if fh<>-1 then
fileread(fh,emp_pic)/*Leo la imagen y la guardo en emp_pic*/
fileclose(fh)
p_foto.setpicture(emp_pic)/*p_foto es el picture*/
/*AQUI SE GUARDA LA FOTO EN LA BASE DE DATOS*/
updateBLOB empleados set foto=:emp_pic
where idempleado=:scodigo
using sqlca;
/*En caso hubiera error*/
IF SQLCA.SQLCode = -1 THEN
/***Todo este código está dentro de cb_editar en el evento clicked*****/
integer fh,ret,ii_currow
blob emp_pic
string txtname,named
string scodigo
ii_currow=dw_empleado.getrow()
/*es un datawindow de tipo freeform sin relevancia para el problema*/
scodigo=dw_empleado.GetItemString(ii_currow,"idempleado")
string defext="JPG"
string filter="FORMATO JPG(*.jpg),*.JPG,Jpeg(*.jpeg),*.jpeg,Bitmap files(*.bmp),*.bmp"
/*Con la siguiente línea ubicaré la imagen que deseo guardar*/
ret=getfileopenname("Open JPG",txtname,named,defext,filter)
if ret=1 then
fh=fileopen(txtname,streammode!)
if fh<>-1 then
fileread(fh,emp_pic)/*Leo la imagen y la guardo en emp_pic*/
fileclose(fh)
p_foto.setpicture(emp_pic)/*p_foto es el picture*/
/*AQUI SE GUARDA LA FOTO EN LA BASE DE DATOS*/
updateBLOB empleados set foto=:emp_pic
where idempleado=:scodigo
using sqlca;
/*En caso hubiera error*/
IF SQLCA.SQLCode = -1 THEN
Valora esta pregunta


0