Array
(
)

Ler conteudo de campo tipo image do sql para picturebox

Rodrigo Melo
   - 24 fev 2009

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.


Rafael Cabral
   - 04 mar 2009

Olá Rodrigo. Tudo bem?

Vc já tentou dessa forma?

#Código


//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


Rodrigo Melo
   - 04 mar 2009

Funcionou 100¬!
Muito obrigado.

Por mim, tópico encerrado e bem respondido.