Ler conteudo de campo tipo image do sql para picturebox

24/02/2009

0

Amigo, alguem poderia me ajudar a trazer uma imagem salva num campo image do sqlserver 2005 para um picturebox na tela?

Ja tentei de tudo, já passei várias horas na net buscando e não achei nada que funcione.

Obrigado.


Rodrigo Melo

Rodrigo Melo

Responder

Posts

04/03/2009

Rafael Cabral

Olá Rodrigo. Tudo bem?

Vc já tentou dessa forma?

//lê banco de dados.
public byte[] lerImagem(int id)
{
   byte[] imagemRetorno;
   SqlDataReader sqlReader;
   SqlConnection sqlConn = new SqlConnection("MinhaStringConexao");
   SqlCommand sqlCmd = sqlConn.CreateCommand();

   sqlCmd.CommandText = "SELECT CAMPO_IMAGEM FROM TABELA WHERE ID = " + id.ToString();

   try
   {
      sqlConn.Open();

      sqlReader = sqlCmd.ExecuteReader();

      if (sqlReader.Read())
      {
         imagemRetorno = (byte[]) sqlReader["CAMPO_IMAGEM"];
      }
   }
   finally
   {
      sqlReader.Close();
      sqlConn.Close();
      sqlCmd.Dispose();
      sqlReader.Dispose();
      sqlConn.Dispose();
   }

   return imagemRetorno;
}

// Converte array de bytes em imagem.
public Image arrayByteToImage(byte[] imagemBytes)
{
   MemoryStream ms;

   try
   {
      ms = new MemoryStream(imagemBytes, 0, imagemBytes.Length);
      ms.Write(imagemBytes, 0, imagemBytes.Length);
      return Image.FromStream(ms, true);
   }
   finally
   {
      ms.Close();
      ms.Dispose();
   }
}

byte[] imagemBytes = lerImagem(1);
pictureBox1.Image = arrayByteToImage(imagemBytes);


Atenciosamente,

Rafael Cabral


Responder

04/03/2009

Rodrigo Melo

Funcionou 100¬!
Muito obrigado.

Por mim, tópico encerrado e bem respondido.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar