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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar