[firebase-br] Campo blob (figura no banco)
Ricardo Rocha
ricardo em vsiinformatica.com.br
Dom Jun 19 10:38:10 -03 2005
Pessoal, estou com um grande problema. Preciso gravar uma figura no banco e
a função que uso (abaixo) não está funcionando.
Bom, vou comentando ela para vcs entenderem ... depois exponho o
problema.
Public Function GravaFigura(ByVal lChavePrimaria As Long)
Dim mystream As ADODB.Streamtipo BLOB Binário
Dim rsFoto As ADODB.Recordset
Set mystream = New ADODB.Stream
Set rsFoto = New ADODB.Recordset
mystream.Type = adTypeBinary ' Tipo de Dado Carregado ou salvo do campo
'antes de chegar nesta função incluí o registro no banco via Query e
guardei a cheve primária. Netse caso refere-se a tabela de pessoas.
sSql = "" & _
"SELECT * " & vbNewLine & _
"FROM RR_PESSOAS " & vbNewLine & _
"WHERE PES_CODIGO = " & lChavePrimaria
Set rsFoto = clsBD.Consultar(sSql, True) 'é uma classe de acesso ao
banco de dados (não faz diferente usar ela ou uma conexão feita nesta
função)
If rsFoto.EOF Then
Set mystream = Nothing
Exit Function
End If
'verifico se o caminho da foto tem valor. Tendo, rpeciso gravá-la num
campo blob.
If Not IsNull(rsFoto!Pes_Foto) And rsFoto!Pes_Foto <> "" Then
mystream.Open
mystream.LoadFromFile rsFoto!Pes_Foto
rsFoto!PES_FOTOGRAFIA = mystream.Read
rsFoto.Update
mystream.Close
End If
Set mystream = Nothing
Set rsFoto = Nothing
End Function
Estou usando Firebird, mas não acredito que o banco faça diferença
neste caso .....
Bom, a função é executada sem nenhum problema, porém a figura não é
gravada no banco de dados.
Eu incluo a pessoa via uma query e dou commit ... se não der erro eu
chamo esta função passando a chave primária (código da pessoa).
Aonde está o erro ??
Preciso disso funcionando urgente .... por favor, se alguém puder ajudar
fico muito grato.
[]'s
Ricardo rocha
www.mundodemerlin.pro.br
Mais detalhes sobre a lista de discussão lista