ERRO AO GRAVAR IMAGEM NO MYSQL

ALVAROVB2009 14/05/2013 18:51:12
#423476
Galera preciso de uma ajuda, tenho que gravar uma imagem e depois recuperar no mysql e estou tentando usar os comandos

Para inserir
Db.Execute [Ô]INSERT INTO imagem (nomeimagem,imagem) VALUES ([ô]ImagemGravada.bmp[ô],LOAD_FILE([ô][Ô] & CaminhoFoto & [Ô][ô]))[Ô]
Alterar
Db.Execute [Ô]update imagem set imagem=LOAD_FILE([ô][Ô] & CaminhoFoto & [Ô][ô]) where codimagem = 1[Ô]

e para voltar
SELECT Imagem FROM imagem WHERE codimagem = [Ô] & Val(Txtid) & [Ô] INTO DUMPFILE [ô]C:/nova.jpg[ô]

Más o problema é que não esta gravando no banco, o campo esta ficando NULL e no momento da gravação não apresenta erro algum, simplismente não grava a imagem no banco.

Estava buscando exemplos aqui mesmo no fórum e achei algumas soluções identicas a que estou fazendo e com o tópico encerrado como positivo, então me pergunto o que pode estar de errado

Meu campo no BD esta como BLOB, estou usando MYSQL 5.5.24
Já tentei como binary, mediumblob,longblob e nada, todos estão dando o mesmo resultado

E apenas para concluir, é preciso sim gravar a imagem no banco, pois ela será usada como um logo para os relatórios e para a abertura do sistema.
Eu particulamente prefiro deixar a imagem no servidor e depois gravar o caminho no banco, más as vezes nossa vontade não prevalece, então por isso que tenho que gravar a imagem no banco

Alguém pode me dar uma luz?

Desde já agradeço a todos
MARCELO.TREZE 15/05/2013 00:28:23
#423498
Resposta escolhida
eu uso ha algum tempo essas duas funções

Sub SalvaFoto(REG As Integer, caminho As String, tipo As Integer)
[ô] tipo=1 salva
[ô] tipo=2 altera
On Error GoTo TrataErro
Dim RSimagem As ADODB.Recordset
Dim MyStream As ADODB.Stream
Set RSimagem = New ADODB.Recordset
Set MyStream = New ADODB.Stream
Dim xSQL As String

MyStream.Type = adTypeBinary
If tipo = 1 Then
xSQL = [Ô]SELECT re,foto FROM fotos[Ô]
RSimagem.Open xSQL, Conexao, adOpenStatic, adLockOptimistic
MyStream.Open
MyStream.LoadFromFile caminho
RSimagem.AddNew
RSimagem!re = REG
Else
xSQL = [Ô]SELECT re,foto FROM fotos WHERE re=[ô][Ô] & CStr(REG) & [Ô][ô][Ô]
RSimagem.Open xSQL, Conexao, adOpenStatic, adLockOptimistic
MyStream.Open
MyStream.LoadFromFile caminho
End If

RSimagem!foto = MyStream.Read
RSimagem.Update
MyStream.Close
RSimagem.Close
Set RSimagem = Nothing
Exit Sub
TrataErro:
MsgBox [Ô]Linha [Ô] & Str$(Erl) & [Ô] - [Ô] & Err.Number & [Ô] - [Ô] & Err.Description
SendMessage mCapHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0
End Sub


Function CarregarFoto(REG As Integer, Pic As PictureBox)
Dim RSimagem As New ADODB.Recordset
Dim MyStream As New ADODB.Stream
Dim cSQL As String
With MyStream
.Type = adTypeBinary
cSQL = [Ô]SELECT re,foto FROM fotos WHERE re=[ô][Ô] & REG & [Ô][ô] AND not isnull(foto)[Ô]
RSimagem.Open cSQL, Conexao, adOpenStatic, adLockOptimistic
If Not (RSimagem.BOF And RSimagem.EOF) Then
.Open
.Write RSimagem!foto
.SaveToFile App.Path & [Ô]    mp.bmp[Ô], adSaveCreateOverWrite
.Close
Pic.Picture = LoadPicture(App.Path & [Ô]    mp.bmp[Ô])
Kill (App.Path & [Ô]    mp.bmp[Ô])
RSimagem.Close
Set RSimagem = Nothing
Else
Exit Function
End If
End With

End Function
ALVAROVB2009 15/05/2013 09:33:40
#423506
Vlw Oráculo !!!!

Ficou show !!!!
Tópico encerrado , respostas não são mais permitidas