Necesito gaurdar un BMP nen un campo BLOB en una tabla Mysq

Necesito gaurdar un BMP nen un campo BLOB en una tabla Mysq

Postby busmatic » Sun Jul 13, 2008 5:27 am

Un saludo listeros.

Ando detras hace dias de como se guarda un archivo BMP dentro de un campo BLOB en una tbala Mysql.

Algun ejempl funciona el xhar agradeceria mucho.

Gracias a Montones desde ya.

Oscar Chacon
Busmatic de CR.
User avatar
busmatic
 
Posts: 51
Joined: Fri Jun 30, 2006 6:56 pm

Postby Frafive » Sun Jul 13, 2008 6:13 pm

Hola

Yo lo estoy haciendo con eagle de la siguiente forma y funciona de maravilla , en el campo blob puede guardar cualquier cosa.



oTb:=TMsQuery():New(::oDataBase)
cImagen:=oTb:ReadFromFile(cFoto)

cInsert:= "INSERT INTO `fotos` (`cfoto`,`codigo`,`ctexto`) VALUES "
cInsert +="('"+cImagen+"','"+str(nCodigo)+"','"+alltrim(cTexto)+"');"

::oDataBase:Execute(cInsert)
Frafive
 
Posts: 189
Joined: Wed Apr 05, 2006 9:48 pm

No compañero funciona en , gracias de todas maneras

Postby busmatic » Mon Jul 14, 2008 1:16 am

Utilizo Tmysql y estube utilizando una rutinas de quintanilla que me ha ayudado.
el utiliza Eagle 1 y Tmysql y algo no funca.

Alguuine ma que haya logrado implementarlo.
gracias

Busmatic
Oscar Chacon.
User avatar
busmatic
 
Posts: 51
Joined: Fri Jun 30, 2006 6:56 pm

Postby ricardog » Tue Jul 15, 2008 1:40 pm

Yo hago lo siguiente:

En la base de datos, el campo de la imagen lo genero como LONGTEXT, y para guardar y leer las imagenes hago lo siguiente:

ACTIVATE DIALOG oDlg CENTERED

if ! lContinuar; return(nil); endif

cPath=cGetFile("*.jpg;*.bmp",'Seleccione la imagen deseada')
cTemp = '.\bitmaps\temp001.tmp'

FMimeEnc(cPath,cTemp) //Esta es la función que nos ayuda agrabar la imagen como texto

if file(cTemp)
cMemo=memoread(cTemp)
cMemo=STRTRAN(cMemo,CRLF,'')

::oRsImagenes:AddNew()

TRY

::oRsImagenes:Fields("IdCliente"):Value := ::Id
::oRsImagenes:Fields("IdDocto"):Value := oSolicitud:IdDocto
::oRsImagenes:Fields("Descripcion"):Value := cNomSol
::oRsImagenes:Fields("Imagen"):Value := cMemo
::oRsImagenes:Update()
ferase(cTemp)
msginfo('Imagen salvada !', oApp:cEmpresa)
Catch oErr
Msginfo( 'La Imagen no puede ser agregada a la base de datos !',oApp:cEmpresa )
End
else
Msginfo( 'La Imagen no pudo ser guardada en la base de datos !',oApp:cEmpresa )
endif
osolicitud:End()
//::oRsImagenes:Requery()
Return Self

METHOD AbreImagen() CLASS TCliente //Para abrir una imagen GRABADA en la BD
local cMemo:='',cTemp:=''

SysRefresh()
CursorWait()

cMemo := ::oRsImagenes:Fields("imagen"):Value

if !empty(cMemo)

cTemp = '.\Bitmaps\temp002.tmp'

MEMOWRIT(cTemp,cMemo)

if file(cTemp)

cTemp2 = '.\Bitmaps\temp003.JPG'

FMimeDec(cTemp,cTemp2) //Esta es la funcion que nos permite leer la imagen en la base de datos

if file(cTemp2)

ShellExecute(GetActiveWindow(),"open",cTemp2)

else
MsgAlert("No ha sido posible leer la imagen de la base de datos" ,oApp:cEmpresa)
endif
else
MsgInfo("No existe la imagen del documento" ,oApp:cEmpresa)
endif
else
MsgInfo("No es posible abrir la imagen del Documento" ,oApp:cEmpresa)
EndIf
SysRefresh()
CursorArrow()


Return Self


Espero que te sea util.

Saludos
Ricardo E. Guardado Flores
Guadalajara, Jalisco Méx.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 140 guests