TRAZER IMAGEM DO BANCO DE DADOS

DENNERFOX 13/05/2013 16:23:47
#423395
Olá pessoal, estou com uma dificuldade. Preciso trazer uma imagem que está armazenada no banco de dados e visualizar ela em uma picturebox.
Ja estou na reta final, tenho um msflexgrid que me mostra os arquivos que estão no banco, ao clicar nele deveria buscar os bits do arquivo do banco e montar na picturebox.
Mas falta algo e não consegui colocar de forma adequada.

O Código para mostrar o arquivo é o seguinte.

StrSql = [Ô]{ ? = CALL DBCFC..SpMostrarDocumento_Integracao(?) }[Ô] [ô] Procedure para trazer a imagem do banco.
Set ps = cn.CreateQuery([Ô][Ô], StrSql)
ps(1) = txt_edit.Text [ô] txt_edit_Text é o campo onde armazeno o parâmetro pra busca.
Set rs = ps.OpenResultset(1)
Picture1.DataField = rs!Documento.Name [ô]onde Documento é a variável que declarei para trazer os bits do arquivo.

Quem puder ajudar agradeço.
OMAR2011 13/05/2013 20:59:39
#423412
KERPLUNK costuma dizer que não é guru.Eu não
chego nem aos pés do Famigerado.Então coloque
a Procedure,ai alguém vai olhar e possa até dar uma
resposta.
Valeu.
ALEVALE 14/05/2013 08:15:00
#423419
rsrsrs...assino embaixo..

A sua imagem no banco é string ou blob ?
DENNERFOX 14/05/2013 08:58:13
#423425
Essa procedure pega o valor do indice como parâmetro e retorna a imagem que está no banco. No .Net eu consigo fazer isso, mas no VB6 estou apanhando.


SELECT [ô]Documento[ô] = A.DocDig
FROM TBDCDOCDIG A, TBDCMAP B, TBDCTIPDOC C, TBDCINDDOC D, TBDCDOC E
Where A.NRODOC = D.NRODOC
AND A.NRODOC = E.NRODOC
AND D.CODTIPDOC = C.CODTIPDOC
AND B.NOMATR = B.NOMATR
AND B.CODTIPDOC = D.CODTIPDOC
AND B.CODGRPDOC = D.CODGRPDOC
AND D.VLRIDC = @VLRIDC

Obrigado pela ajuda!

Obs: Só não intendi o porque do desabafo sobre o KERPLUNK no tópico.
MARCELO.TREZE 14/05/2013 09:05:41
#423427
qual o banco de dados
DENNERFOX 14/05/2013 09:07:27
#423428
O meu banco de dados é sql server.
ALVAROVB2009 15/05/2013 09:47:30
#423508
Resposta escolhida
DENNERFOX

Da uma olhada no meu tópico

ERRO AO GRAVAR IMAGEM NO MYSQL

O Marcelo mandou uma rotina que ele usa, é só adaptar para vc, eu fiz isso e funcionou 100%, mesmo o seu banco sendo SQL SERVER acredito que não tenha tanta diferença

Abraço
DENNERFOX 15/05/2013 17:18:15
#423545
Pessoal, obrigado pela ajuda, consegui dessa forma!


CnADO.Provider = [Ô]sqlOLEDB[Ô]
CnADO.Open PegaDadosRegistro([Ô]CONEXAO[Ô], [Ô]Svd[Ô]), PegaDadosRegistro([Ô]CONEXAO[Ô], [Ô]Usr[Ô]), PegaDadosRegistro([Ô]CONEXAO[Ô], [Ô]Pwd[Ô])

CnADO.DefaultDatabase = [Ô]BANCO[Ô]
Set CmADO.ActiveConnection = CnADO
CmADO.CommandType = adCmdStoredProc

CmADO.CommandText = [Ô]PROCEDURE[Ô]
CmADO.Parameters.Refresh
CmADO(1) = txt_edit.Text
RsADO.CursorType = adOpenStatic
RsADO.Open CmADO

If Not RsADO.EOF Then
Picture1.Picture = LoadPicture()
Picture1.DataField = Empty
Set Picture1.DataSource = RsADO
Picture1.DataField = RsADO!imgbrs.Name
End If


Abraço e continuem por perto!
Tópico encerrado , respostas não são mais permitidas