Mostrar Imagen guardada en MSSQL

Compaero muchas gracias por varias respuestas que encontrado aqui en el Foro, y esta es la parte en donde me gustaria que me apoyen en un problema que tengo, resulta que necesito una imagen de una BD en MSSQL pero el problema esta que no se como proyectarla en un WEB Imageview, les comento que el campo en donde estan guardadas estas imagenes es un campo “image” y la verdad no se que proceso se tiene que hacer para sacarla y visualisarla, lo mas probable que se me ocurrio fue hacer un:

Dim RS as RecordSet = db.SQLSelect(SQL)

ImageView1.Picture=RS.Field("FOTO").PictureValue

RS.close
db.close

pero sin ningun resultado satisfactorio, me marca que es una imagen corrupta.

Alguna idea de lo que este haciendo mal, o como es que se tiene que procesar este tipo de datos, de antemano agradezco su ayuda y poderme dar un NORTE de que es lo que tengo que investigar, muchisimas Gracias.

Hola Jaime, Lo primero es q el PictureValue solo sirve para SQLite, para las otras bases de datos se debe codificar antes de enviar y decodificar despus d recibir, la razn es que las sentencias SQL se van por la red en formato TXT y no puede haber caracteres “raros” como Tabuladores o “secuencias d escape”. Este es un ejemplo de como grabar en postgres:

Dim pTmp As Picture=  Search ' Search es un picture
Dim mbEnc As MemoryBlock=  pTmp.GetData(Picture.FormatPNG) ' Puede ser jpg
Dim sEnc As String= EncodeBase64(mbEnc.StringValue(0, mbEnc.Size))

Dim sql As String= "UPDATE datos.terceros SET foto= '"+ sEnc+ "' WHERE id_tercero=139385"
App.DbP.SQLExecute(sql)

If App.DbP.Error Then MsgBox "Error"

y Para recuperar es lo mismo pero al contrario:

Dim rs As RecordSet= App.DbP.SQLSelect("SELECT * FROM datos.terceros WHERE id_tercero=139385")

Dim mbDec As MemoryBlock= DecodeBase64(DecodeHex(rs.Field("foto").StringValue)) ' el decodeHex es porq viene as
pTmp= Picture.FromData(mbDec) ' ac queda la imgen

No he probado para MSSQL, espero le ayude.

Gracias Bernardo, muy atento en tu respuesta, pero tengo un problema, al ejecutar el cdigo me dice:

UnsupportedFormatException

Y tambien te muestro como esta grabada la informacion en el campo FOTO:
0x424DD6570300000000003600000028000000F6000000280100000100180000000000A057030000000000000000000000000000000000615F5F6361616865667070707272726D6F716D6F716D6E726E6F7472737774757973767C73767C73767C7072796E6F786B6D76696A75676773656871666A72676A6E686B6F676C70686E71656D77656D77636D79636D79646C76636B7562677461667361687060676F62646B6062685F60645F60645D60665C5E65575A656568736E727A777B8480858B8A8E959299A1989EA69BA2AA9DA3AB9FA5ADA0A7AFA0A7AFA0A7AF9EA4AC9BA2AA9CA0A99B9FA8979DA5969CA49198A58F96A38A92A1868F9D878F99868E98888E96888E968A8E95898D93878B94878B9483899383899383899282889082889082889082889082889082879282879282879281869180868E7E858D7F848A7C80877A7C8578798277798076787E74787E74787E757A80757A80777980797B827B7F837E81857E80877D7F857D7F857D7F857B7E847A7D83757B84747A8274788071757E71737A71737A6E73796E73796F71777072796E717C6D707B686D7A5E636F6568736A6D786A6F75666A7061666C5A5F6557575E4D4D534442493E3C43302E3505030A08060B09070C08050C08050C09060E08050C0807090606080A07080A07080606060606060808080808080905040602000A08060D0C0A0E0C0C0F0D0D120A0E11090D110A0B120B0C140F10140F1019100F19100F0C0100180C0C999697C9C6C7A2A2A49F9EA1999EA4959AA09299A19299A190969E9299A19299A19299A1979AA39A9EA69A9FAC9BA0AD9AA3B09CA6B29DA4B19DA4B19FA5AD9DA3ABA1A3AAA0A2A8A0A2A8A0A2A8A1A2ABA1A2AB9EA1AA9FA3ABA1A2ABA2A3

e buscado por cielo mar y tierra y no veo la manera de como sacar esas fotos de esa BD, espero tu amable respuesta.

Hola Jaime yo tengo el mismo problema lo has podido solucionar? saludos

A simple vista falta el encodehex en sEnc.

Dim sEnc As MemoryBlock= EncodeBase64(EncodeHex(rs.Field("foto").StringValue)) 

No lo he probado, tan solo mirando el código me he dado cuenta que falta.

Saludos!
Amando

Hola Amando , eh probado lo que has dicho y sigue sin funcionar, tienes algún ejemplo para poner?
Gracias
Saludos
Mike

Mike, lo pude resolver en windows pero en version WEB del Real Basic, nunca lo pude solucionar, que me dices tu?

Algo tarde la respuesta.

hola jaime… puedes explicar aqui como lo has solucionado?
de paso comparto aqui algunos links de interes

https://forum.xojo.com/23501-save-picture-in-postgresql/0
https://forum.xojo.com/10191-pictures-and-postgres
https://www.aprendexojo.com/2016/07/bases-de-datos-guardar-y-recuperar-imagenes/