Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julierme Felix

[Resolvido] Recuperando Imagem do Mysql para PictureBox

Recommended Posts

Pessoal tenho uma aplicação windows form que estou usando com banco mysql, em uma tabela existe um campo de foto onde armazeno a foto (não o caminho).

 

Estou tentando carregar a foto do banco no picture box e não estou conseguindo.

 

Esta dando um erro de parametro invalido.

Private Sub CarregarImagem(ByVal codCliente As Integer)

   Try
     'Carregar a foto
     cn.Open()
     Dim cmdFoto As New OdbcCommand("select FOTO from obreiros where id =" & codCliente)
     cmdFoto.Connection = cn
     cmdFoto.CommandType = CommandType.Text

     Dim daFoto As New OdbcDataAdapter(cmdFoto)
     Dim dsFoto As New DataSet
     daFoto.Fill(dsFoto)
     Dim bits As Byte() = CType(dsFoto.Tables(0).Rows(0).Item(0), Byte())
     Dim memorybits As New MemoryStream(bits, True)
     memorybits.Write(bits, 0, bits.Length)
     Dim bitmap As New Bitmap(memorybits)
     foto.Image = bitmap.FromStream(memorybits)
     cmdFoto.Dispose()
     dsFoto.Dispose()
     cmdFoto.Dispose()

   Catch EX As Exception

     'se não houver fotos gravadas irá ocorrer um erro que deve ser ignorado
     MessageBox.Show(EX.Message)
     'MessageBox.Show("Foto não gravada no Banco de Dados", "Não é possível exibir a foto", MessageBoxButtons.OK, MessageBoxIcon.Information)
     foto.Image = Nothing
     foto.Refresh()

   End Try
   cn.Close()
 End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal

Consegui resolver

Private Sub CarregarImagem(ByVal codCliente As Integer)

       Try
           'Carregar a foto
           cn.Open()
           Dim cmdFoto As New MySqlCommand("select FOTO from obreiros where ID=" & codCliente)
           cmdFoto.Connection = cn
           cmdFoto.CommandType = CommandType.Text
           Dim daFoto As New MySqlDataAdapter(cmdFoto)
           Dim dsFoto As New DataSet
           daFoto.Fill(dsFoto)
           Dim bits As Byte() = CType(dsFoto.Tables(0).Rows(0).Item(0), Byte())
           Dim memorybits As New MemoryStream(bits)
           Dim bitmap As New Bitmap(memorybits)
           fotop.Image = bitmap
           cmdFoto.Dispose()
           dsFoto.Dispose()
           cmdFoto.Dispose()
           cn.Close()
       Catch EX As Exception
           'se não houver fotos gravadas irá ocorrer um erro que deve ser ignorado
           'MessageBox.Show(EX.Message)
           MessageBox.Show("Foto não gravada no Banco de Dados", "Não é possível exibir a foto", MessageBoxButtons.OK, MessageBoxIcon.Information)
           fotop.Image = Nothing
           fotop.Refresh()

       End Try

   End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.