|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Como armazenar fotos na base de dados em um campo OLE passando a imagem de uma PictureBox?
|
|
|
|
Postada em 9/10/2003 por Roßerto
Abaixo seguem as funções que armazenam e lêem as imagens:
Public Sub GetPicture(f As Field, pic As Control) Dim x() As Byte Dim ff As Integer Dim strArqTemp As String strArqTemp = "c:\temp\pic.bmp" ff = FreeFile Open strArqTemp For Binary Access Write As ff x() = f.GetChunk(0, f.FieldSize) Put ff, , x() Close ff pic.Picture = LoadPicture(strArqTemp) Kill strArqTemp End Sub
Public Sub LetPicture(f As Field, pic As Control) Dim x() As Byte Dim n As Long Dim ff As Integer Dim strArqTemp As String ff = FreeFile strArqTemp = "c:\temp\pic.bmp" SavePicture pic.Picture, strArqTemp Open strArqTemp For Binary Access Read As ff n = LOF(ff) If n Then ReDim x(n) Get ff, , x() f.AppendChunk x() Close ff End If Kill strArqTemp End Sub
Primeiro você terá que armazenar a imagem no banco de dados no formato em que ele consiga reconhecer, pra isso use:
rec.AddNew LetPicture rec("Figura"), Picture1 'rec("OutroCampo") = outrovalor... rec.Update
Já para a leitura do registro use:
GetPicture rec("Figura"), Picture1
onde rec("Figura") é o recordset que contém a figura.
|
|
|
|
|